【发布时间】:2022-01-26 23:48:38
【问题描述】:
我需要一个脚本,它至少为我提取每个 NIC 的计算机名称、IP 地址、描述(别名)和 MAC 地址并将其导出到 csv
我找到了here 这段脚本,它涵盖了我的需求和一些多余的信息:
$Data = @()
$NetInfo = Get-NetIPConfiguration -Detailed
foreach ( $nic in $Netinfo) {
foreach ($ip in $nic.IPv4Address) {
$Data += [pscustomobject] @{ Ordinateur=$nic.ComputerName; AliasNIC=$nic.InterfaceAlias;
NetworkcardName=$nic.InterfaceDescription; IP=$ip; MAC=$nic.NetAdapter.MACAddress;
Status=$nic.NetAdapter.Status
}
}
}
$Data | Format-Table #-HideTableHeader
我想使用 export-csv
而不是格式表,但用于 IP 地址,但我在下面的一行输出示例中得到奇怪的输出:
"Client01","Ethernet","Intel(R) Ethernet Connection (10) I219-V","MSFT_NetIPAddress (Name = "";C?8;@B8;AB8?:?55?55;55;"", CreationClassName = """", SystemCreationClassName = """", SystemName = """")","MSFT_NetIPAddress (Name = "";C?8;@B8;AB8?:?55?55;55;"", CreationClassName = """", SystemCreationClassName = """", SystemName = """")","38-F3-AB-85-EC-CF","Up"
【问题讨论】:
-
你的变量 $ip 是一个对象。使用 $ip.IPAdress。或者删除第二个循环完成并添加一个ip地址数组而不是你的ps自定义对象
@($nic.IPv4Address | Select -ExpandProperty IPAddress) -
成功了。非常感谢!!!
标签: powershell