我正在尝试一个库存脚本,我正在获取子网详细信息并将其传送到 CSV 文件。但输出是 System.Object[]
而不是IP地址。
我希望 IP 地址以其原始形式通过管道传输,例如 255.255.0.0
.
$nmconfiginfo = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $s
Add-Member -InputObject $infoObject -MemberType NoteProperty -Name "IP Subnet" -Value $nmconfiginfo.IPSubnet
最佳答案
IPSubnet
属性包含返回的所有接口(interface)的所有 IP 子网的集合。例如我的值(value)是:
255.255.255.0
64
255.255.252.0
64
255.255.255.0
64
255.255.240.0
64
如果你想返回这个完整的值,你可以通过管道到
Out-String
来实现。 :Add-Member -inputObject $infoObject -memberType NoteProperty -name "IP Subnet" -value ($nmconfiginfo.IPSubnet | Out-String)
但是,如果您想要特定接口(interface)的子网值,则需要缩小
$nmconfiginfo
的范围。首先收集到该特定接口(interface),例如:$nmconfiginfo = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $s | Where-Object {$_.Description -eq 'Name of the interface you want'}
请注意,描述不一定是唯一字段(因此您可能仍会得到多个结果)。您可以考虑按其他字段过滤,例如
IPAddress
.
关于powershell - CSV 文件的 Add-Member 输出是 System.Object[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49672730/