我使用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.....}
答案 0 :(得分:1)
这段代码应该可行。您可以按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