powershell - CSV 文件的 Add-Member 输出是 System.Object[]

标签 powershell

我正在尝试一个库存脚本,我正在获取子网详细信息并将其传送到 CSV 文件。但输出是 System.Object[]而不是IP地址。

enter image description here

我希望 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/

相关文章:

events - PowerShell:如何在远程服务器上运行脚本?

powershell - 如何动态替换字符串的最后一部分?

windows - 如何使用 Win32 API 模拟按键组合而不激活 Window

用于运行提升的其他用户 shell 的 PowerShell 桌面图标

variables - PowerShell,Robocopy和SchTasks->发送命令的变量和文本

powershell - 检查文件是否为空

powershell将哈希表数组转换为csv

powershell - 从多个文件创建powershell模块,引用模块

Powershell相当于moreutils中的海绵?

regex - 在第一个分隔符后使用填充零重命名 PowerShell 文件