我正在寻找一个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做些什么,以便消除包括final在内的所有内容。所以它读
IP Address is 192.168.10

很抱歉,我是一个完全的新手,我花了2个小时来编写/窃取这6行

最佳答案

这是不使用子字符串

( 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('.')) }

关于powershell - $ _。SubString($ _。IndexOf (“”))Powershell帮助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13400492/

10-11 02:28