如何将Get-NetAdapter输出管道传递给Get-NetIPConfiguration命令?
解决PowerShell网卡IP配置筛选问题
方法一:直接管道串联(推荐)
无需单独提取网卡名称再传递,Get-NetIPConfiguration可直接接收Get-NetAdapter输出的对象作为输入,一步完成筛选:
Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | Get-NetIPConfiguration
这条命令会直接输出所有处于Up状态的网卡对应的IP配置信息。
方法二:遍历网卡名称匹配
如果需要先提取网卡名称再做匹配,用-ExpandProperty直接提取名称字符串,再通过ForEach-Object遍历执行筛选:
Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | Select-Object -ExpandProperty Name | ForEach-Object { Get-NetIPConfiguration | Where-Object { $_.InterfaceAlias -eq $_ } }
其中$_代表当前遍历到的网卡名称,用来匹配InterfaceAlias字段。
方法三:变量存储后批量匹配
先将所有Up状态的网卡名称存入变量,再用-in操作符批量筛选:
$upAdapterNames = Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | Select-Object -ExpandProperty Name Get-NetIPConfiguration | Where-Object { $_.InterfaceAlias -in $upAdapterNames }
这种方式适合需要重复使用网卡名称列表的场景,效率更高。
内容的提问来源于stack exchange,提问作者Alain de Coriolis
相关产品推荐
相关产品推荐

