You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本导出子网至CSV显示System.Object[]而非IP地址求助

解决PowerShell资产清点脚本中子网导出为System.Object[]的问题

这个问题我碰到过不少,原因其实很简单——Win32_NetworkAdapterConfiguration的IPSubnet属性返回的是一个数组(毕竟一块网卡可能绑定多个子网),你直接把数组赋值给NoteProperty,导出CSV的时候PowerShell就会把它的类型名System.Object[]打出来,而不是实际的IP地址。

下面给你两种常用的解决思路,按需选择:

1. 只导出第一个子网地址

如果你的场景里每个网卡只需要第一个子网,直接取数组的第一个元素即可:

$nmconfiginfo = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $s
# 取第一个子网,若为空则赋值空字符串避免报错
$subnet = $nmconfiginfo.IPSubnet[0] ?? ''
Add-Member -InputObject $infoObject -MemberType NoteProperty -Name "IP Subnet" -Value $subnet

2. 导出所有子网(逗号分隔)

如果需要保留网卡的所有子网信息,可以用-join把数组元素拼接成字符串:

$nmconfiginfo = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $s
# 把所有子网用逗号分隔拼接,无子网则显示空字符串
$subnet = if ($nmconfiginfo.IPSubnet) { $nmconfiginfo.IPSubnet -join ', ' } else { '' }
Add-Member -InputObject $infoObject -MemberType NoteProperty -Name "IP Subnet" -Value $subnet

额外提示

别忘了处理那些没有IP配置的网卡(比如禁用的网卡),上面的代码里已经加了空值判断,避免出现Cannot index into a null array之类的错误。

内容的提问来源于stack exchange,提问作者jeevanreddymandali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:05:13