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

如何在PowerShell中获取已连接网络接口的唯一IPv4地址?

获取PowerShell中已连接网络接口的唯一IPv4地址

你遇到的重复条目问题,是因为Get-NetIPInterface -ConnectionState Connected会返回同一接口的多条记录(比如接口同时关联了IPv4和IPv6配置,或者存在多状态条目),导致后续遍历调用Get-NetIPAddress时重复获取了同一IP。

最简单的解决方式是在管道末尾添加Select-Object -Unique,直接去除完全重复的结果:

Get-NetIPInterface -ConnectionState Connected | ForEach-Object { 
    Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias $_.InterfaceAlias 
} | Select-Object InterfaceAlias, IPAddress -Unique

如果想要更高效的写法(避免重复查询接口信息),可以先获取已连接接口的索引集合,再过滤Get-NetIPAddress的结果:

# 先获取所有已连接IPv4接口的索引
$connectedIPv4Indices = Get-NetIPInterface -ConnectionState Connected -AddressFamily IPv4 | Select-Object -ExpandProperty InterfaceIndex

# 过滤出对应索引的IPv4地址并去重
Get-NetIPAddress -AddressFamily IPv4 | 
    Where-Object { $_.InterfaceIndex -in $connectedIPv4Indices } |
    Select-Object InterfaceAlias, IPAddress -Unique |
    Sort-Object InterfaceAlias

这样就能得到你期望的无重复结果,同时保持接口名称排序的可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:44:53