如果使用 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