如何在PowerShell中使用netstat命令仅输出本地地址的端口号
PowerShell提取netstat中0.0.0.0对应的端口号方法
以下提供两种常用实现方案:
方案1:直接解析netstat输出
通过正则匹配捕获端口部分,适合习惯使用netstat命令的场景:
# 输出所有匹配的端口号 netstat -ano | Select-String '0\.0\.0\.0:(\d+)' | ForEach-Object { $_.Matches.Groups[1].Value }
如果需要对结果去重,可追加去重参数:
# 输出去重后的端口号列表 netstat -ano | Select-String '0\.0\.0\.0:(\d+)' | ForEach-Object { $_.Matches.Groups[1].Value } | Select-Object -Unique
方案2:使用PowerShell原生cmdlet(更稳定)
不需要解析文本输出,直接调用结构化的网络查询接口,不会因为netstat输出格式变化失效:
# 输出所有0.0.0.0绑定的端口号 Get-NetTCPConnection -LocalAddress 0.0.0.0 | Select-Object -ExpandProperty LocalPort
同样可以追加去重参数得到无重复的端口列表:
# 输出去重后的端口号列表 Get-NetTCPConnection -LocalAddress 0.0.0.0 | Select-Object -ExpandProperty LocalPort | Select-Object -Unique
内容的提问来源于stack exchange,提问作者Volkan
相关产品推荐
相关产品推荐

