如果使用 Win32_NetworkAdapterConfiguration 获取 IP 地址,如何对列表进行排序
How to sort the list if IP address fetched using Win32_NetworkAdapterConfiguration
我正在使用 Win32NetworkAdapterConfiguration 获取适配器的 IP 地址列表:
$ip= $ip=Get-WmiObject Win32_NetworkAdapterConfiguration |
select IPAddress
IP 地址列表如下:
{192.168.1.10, 192.168.1.9, 192.168.1.8.....}
有没有一种简单的方法可以按升序对这个列表进行排序?
我需要这样的输出:
{192.168.1.1, 192.168.1.2, 192.168.1.3.....}
这段代码应该可以工作。您可以按 Sort-Object
对对象进行排序
Get-WmiObject Win32_NetworkAdapterConfiguration | Sort-Object IPAddress | select IPAddress
编辑:
由于您是从同一个适配器获取所有这些 IP,因此大括号 {}
将其变成一个对象,Powershell 正在努力排序。返回数组!
$ip = {192.168.1.10, 192.168.1.9, 192.168.1.8, 192.168.1.1}
$ip =$ip.ToString()
$a= $ip.Split(",")
$a | sort
您必须过滤掉 mac 个地址:创建一个只有 ips 的新数组:
$new=for ($i=0;$i -lt $array.count;$i+=2) {$a[$i]}
所以,这应该有效:
$ip= $ip=Get-WmiObject Win32_NetworkAdapterConfiguration | select IPAddress
$ip =$ip.ToString()
$a= $ip.Split(",")
$new=for ($i=0;$i -lt $array.count;$i+=2) {$a[$i]}
$new | sort
我正在使用 Win32NetworkAdapterConfiguration 获取适配器的 IP 地址列表:
$ip= $ip=Get-WmiObject Win32_NetworkAdapterConfiguration |
select IPAddress
IP 地址列表如下:
{192.168.1.10, 192.168.1.9, 192.168.1.8.....}
有没有一种简单的方法可以按升序对这个列表进行排序? 我需要这样的输出:
{192.168.1.1, 192.168.1.2, 192.168.1.3.....}
这段代码应该可以工作。您可以按 Sort-Object
Get-WmiObject Win32_NetworkAdapterConfiguration | Sort-Object IPAddress | select IPAddress
编辑:
由于您是从同一个适配器获取所有这些 IP,因此大括号 {}
将其变成一个对象,Powershell 正在努力排序。返回数组!
$ip = {192.168.1.10, 192.168.1.9, 192.168.1.8, 192.168.1.1}
$ip =$ip.ToString()
$a= $ip.Split(",")
$a | sort
您必须过滤掉 mac 个地址:创建一个只有 ips 的新数组:
$new=for ($i=0;$i -lt $array.count;$i+=2) {$a[$i]}
所以,这应该有效:
$ip= $ip=Get-WmiObject Win32_NetworkAdapterConfiguration | select IPAddress
$ip =$ip.ToString()
$a= $ip.Split(",")
$new=for ($i=0;$i -lt $array.count;$i+=2) {$a[$i]}
$new | sort