$ _。SubString($ _。IndexOf(“”))Powershell帮助

时间:2012-11-15 15:17:33

标签: powershell

我希望隔离IPv4地址的第一个三个个八位字节

$IPAddress = Get-WmiObject Win32_NetworkAdapterConfiguration |
Where { $_.IPAddress } |
Select -Expand IPAddress |
where { $_ -like '*.*' } | % {
$_.SubString($_.IndexOf(""))
}

Write-host IP Address is $IPAddress

我的输出目前是

IP Address is 192.168.10.78

有人可以让我摆脱困境并告诉我我需要做些什么来使用SubString / IndexOf来击败包括决赛之后的一切。所以它读取

IP Address is 192.168.10

我很抱歉,但我是一个完整的新手,我花了2个小时来写/偷这6行

1 个答案:

答案 0 :(得分:3)

这不使用子字符串

( Get-WmiObject Win32_NetworkAdapterConfiguration | Where { $_.IPAddress } | 
Select -Expand IPAddress  ) | % { $_.split('.')[0..2] -join '.' }

这使用子字符串:

( Get-WmiObject Win32_NetworkAdapterConfiguration | Where { $_.IPAddress } | 
Select -Expand IPAddress  ) | % {$_.substring(0, $_.LastIndexOf('.')) }