我有一个脚本[下面],它以格式返回有关网络接口的信息.csv
,但我还需要InterfaceAlias
返回每个适配器的信息;不幸的是,我无法get-wmiobject Win32_NetworkAdapterConfiguration
返回这样的值。
有人可以帮忙吗?
$computer = "myserver.myserver.com"
get-wmiobject Win32_NetworkAdapterConfiguration -filter "IPEnabled=TRUE" -computername $computer | foreach-object {
$_ | select-object `
@{Name="ComputerName"; Expression={$_.__SERVER}},
@{Name="MACAddress"; Expression={$_.MACAddress}},
@{Name="IPAddress"; Expression={$_.IPAddress[0]}},
@{Name="Caption"; Expression={$_.Caption}},
@{Name="IPSubnet"; Expression={$_.IPSubnet[0]}},
@{Name="DefaultIPGateway"; Expression={$_.DefaultIPGateway[0]}}
}| Export-Csv -path "C:\ip_addresses_PG.csv"```
答案1
你可以使用获取 NetIP 接口使用-InterfaceIndex
参数返回InterfaceAlias
属性值并将其放入 select 语句的表达式中。
如果这还不够,你可以使用获取 NetAdapter使用-IncludeHidden
参数和where
过滤器来匹配索引值并将其放入选择语句的表达式中。
Get-WmiObject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=TRUE" | foreach-object {
$_ | select-object `
@{Name="ComputerName"; Expression={$_.__SERVER}},
@{Name="MACAddress"; Expression={$_.MACAddress}},
@{Name="IPAddress"; Expression={$_.IPAddress[0]}},
@{Name="Caption"; Expression={$_.Caption}},
@{Name="IPSubnet"; Expression={$_.IPSubnet[0]}},
@{Name="Alias1"; Expression={(Get-NetIPInterface -InterfaceIndex $_.InterfaceIndex).InterfaceAlias[0]}},
@{Name="Alias2"; Expression={(Get-NetAdapter -IncludeHidden | where ifIndex -eq $_.InterfaceIndex).ifAlias}},
@{Name="DefaultIPGateway"; Expression={$_.DefaultIPGateway[0]}}
}
支持资源
-
-IncludeHidden
表示 cmdlet 在操作中同时包含可见和隐藏的网络适配器。默认情况下,仅包含可见的网络适配器。如果使用通配符来标识网络适配器并且已指定此参数,则通配符字符串将与隐藏和可见的网络适配器进行匹配。
答案2
$_ | select-object `
@{Name="ComputerName"; Expression={$_.__SERVER}},
@{Name="MACAddress"; Expression={$_.MACAddress}},
@{Name="IPAddress"; Expression={$_.IPAddress[0]}},
@{Name="Caption"; Expression={$_.Caption}},
@{Name="IPSubnet"; Expression={$_.IPSubnet[0]}},
@{Name="Alias1"; Expression={(Get-NetIPInterface -InterfaceIndex $_.InterfaceIndex).InterfaceAlias[0]}},
@{Name="Alias2"; Expression={(Get-NetAdapter -IncludeHidden | where ifIndex -eq $_.InterfaceIndex).ifAlias}},
@{Name="DefaultIPGateway"; Expression={$_.DefaultIPGateway[0]}}```
This works, thank you.