我有一个脚本,可以从运行它的计算机上获取活动IP地址。如果前两个八位位组包含该数字,它将输出“我在PH中”。
因此,如果地址为10.4.20.52,则需要确定IP地址-如果包含“ 10.4”写为“我在PH中”,否则为“我不在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"
}
有什么想法吗?
答案 0 :(得分: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"
}