Powershell脚本|寻找前两个八位字节的匹配

问题描述 投票:1回答:1

我有一个脚本,它从运行它的计算机获取活动的IP地址。如果前两个八位字节包含该数字,则输出“我在PH中”。

因此,如果一个地址是10.4.20.52,我需要创建一个决定,如果IPAddress -contains“”10.4“写”我在PH中“Else”我不在PH中“。

我尝试使用-Like -iLike和-contains,但它们似乎都没有用。

$NICIndex = Get-CimInstance -ClassName Win32_IP4RouteTable |
    Where-Object { $_.Destination -eq "0.0.0.0"-and $_.Mask -eq "0.0.0.0" } |
    Sort-Object Metric1 |
    Select-Object -First 1 |
    Select-Object -ExpandProperty InterfaceIndex
$AdapterConfig = Get-CimInstance -ClassName Win32_NetworkAdapter |
    Where-Object { $_.InterfaceIndex -eq $NICIndex } |
    Get-CimAssociatedInstance -ResultClassName Win32_NetworkAdapterConfiguration
$ipconfig = (Get-First $AdapterConfig.IPAddress);


$ipconfig


if ($ipconfig -contains '10.4.')
{
  Write-host "I'm in PH"  
}
else
{
  Write-host "I'm not in PH"
}

有任何想法吗?

powershell condition
1个回答
1
投票
if ($ipconfig -like '10.4.*')  # or if ($ipconfig -match '^10\.4\.')
{
  Write-host "I'm in PH"  
}
else
{
  Write-host "I'm not in PH"
}
© www.soinside.com 2019 - 2024. All rights reserved.