首页 > 解决方案 > 将 IPAddress 数组转换为 HTML

问题描述

$NetConf = Get-CimInstance -ClassName win32_networkadapterconfiguration | where {$_.IPAddress -ne $null} | select IPAddress| ConvertTo-Html -As Table -Property IPAddress -Fragment -PreContent "<h2>IP config</h2>"

如何转换此输出

172.17.7.97, fe80::4da6:ae96:zzzz:zzzz
10.0.75.1, fe80::1063:f3b7:52:zzzz    
192.168.0.107, fe80::7d9f:d8d:zzzz:zzz

像这样的表:

MacAddress    IPAddress     Description
xx.xx.xx.xx   10.0.75.1     asdasdasdasd

非常感谢。

标签: powershell

解决方案


除非我遗漏了一些东西,否则您甚至不应该得到您向我们展示的原始输出。与您选择房产的方式无关。

但是,我相信以下内容可以满足您的要求。

或者您是否也在询问如何在输出中排除 IPv6?

编辑添加了一些不同的变体。

# Both IPv4 & IPv6, combined.
$NetConf1 = Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration | 
    where { $_.IPAddress -ne $null } | 
    select MacAddress, @{N="IPAddress";E={$_.IPAddress -join "," }}, Description | 
    ConvertTo-Html -As Table -Property MacAddress, IPAddress, Description -Fragment -PreContent "<h2>IP config</h2>"

# Both IPv4 & IPv6, separated.
$NetConf2 = Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration | where { $_.IPAddress -ne $null } | 
    select MacAddress, 
    @{N="IPv4Address";E={ $_.IPAddress | where { ([ipaddress]($_)).AddressFamily -eq 'InterNetwork'  }}},
    @{N="IPv6Address";E={ $_.IPAddress | where { ([ipaddress]($_)).AddressFamily -eq 'InterNetworkV6'}}},
    Description | ConvertTo-Html -As Table -Property MacAddress, IPv4Address, IPv6Address, Description -Fragment -PreContent "<h2>IP config</h2>"

# IPv4 only
$NetConf3 = Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration | where { $_.IPAddress -ne $null } |
    select MacAddress,
    @{N="IPAddress";E={ $_.IPAddress | where { ([ipaddress]($_)).AddressFamily -eq 'InterNetwork'  }}},
    Description | ConvertTo-Html -As Table -Property MacAddress, IPAddress, Description -Fragment -PreContent "<h2>IP config</h2>"

推荐阅读