【发布时间】:2011-12-04 01:55:05
【问题描述】:
我正在尝试从计算机获取 IP 地址,然后检查该地址是否在某个范围内。但是我真的不确定如何做到这一点。我已经想出了如何从计算机获取 IP 地址,但是根据范围检查它是另一回事......
这是我目前所拥有的:
Get-WMIObject win32_NetworkAdapterConfiguration | Where-Object { $_.IPEnabled -eq $true } | Foreach-Object { $_.IPAddress } | Foreach-Object { [IPAddress]$_ } | Where-Object { $_.AddressFamily -eq 'Internetwork' } | Foreach-Object { $_.IPAddressToString }
If ($_.IPAddressToString -eq 192.168.0.10 - 192.168.0.50)
{Write-host $_.IPAddressToString}
else ($_.IPAddressToString -ne 192.168.0.10 - 192.168.0.50)
{$_.IPAddressToString = 192.168.0.15}
第一行是我用来获取 IP 地址的内容。我正在循环 if 语句,以便如果地址在范围内,那么除了输出地址之外它不会做任何事情。如果IP不在正确的范围内,我做了一个else语句来更改IP地址。
我没有发现介于两者之间的任何东西。我不知道如何编写 192.168.0.10 - 192.168.0.50。我也找不到任何可以让我检查 IP 地址是否在该范围内的东西,所以我只使用了等于和不等于。不用说它显然没有用。
【问题讨论】:
标签: powershell compare range ip-address