PowerShell的Test-NetConnection是Win11原生端口探测首选工具,需以管理员权限运行并确认PS版本≥5.1;用-TcpTestSucceeded字段判断端口连通性,加-InformationLevel Quiet可跳过ping干扰,支持单端口、静默模式、详细诊断及批量检测导出。

在 Windows 11 中快速确认远程服务器的某个端口(如数据库 3306、SSH 22、HTTPS 443)是否真正开放并可建立 TCP 连接,不能依赖 ping,必须使用支持端口级探测的工具——PowerShell 的 Test-NetConnection 是系统原生、无需安装、结果明确的首选方案。
打开 PowerShell 并验证执行权限
按下 Win + X,选择「终端(管理员)」;若弹出 UAC 提示,点「是」。这一步必须做,否则部分网络诊断字段(如路由跳数、DNS 解析详情)可能被截断或返回空值。
输入 $PSVersionTable.PSVersion 回车,确认主版本号 ≥ 5.1(Win11 默认满足)。低于此版本需先升级 PowerShell,否则 -InformationLevel 等关键参数不可用。
单端口快速测试(最常用场景)
直接运行:Test-NetConnection -ComputerName 192.168.5.100 -Port 3389,将 IP 和端口号替换成你的目标值。
重点看输出中 TcpTestSucceeded 字段:值为 True 表示三次握手成功,端口开放且未被本机/中间防火墙拦截;False 则说明连接被拒绝、超时或目标主机无响应。注意:该命令默认会先发 ICMP Ping,若目标禁 ping 但端口开放,可能误判为失败——此时需加 -InformationLevel Quiet 强制跳过 Ping 阶段。
精准排除干扰的静默模式测试
方法一:仅返回布尔值,适合脚本判断Test-NetConnection -ComputerName api.example.com -Port 443 -InformationLevel Quiet
这行命令不显示任何中间信息,只输出 True 或 False,杜绝人工误读。
方法二:禁 Ping + 获取详细连接路径Test-NetConnection -ComputerName 10.0.2.5 -Port 22 -InformationLevel Detailed -WarningAction SilentlyContinue-WarningAction SilentlyContinue 可屏蔽 DNS 解析失败等非致命警告,让关键字段更醒目。输出中 RemoteAddress 显示实际解析到的 IP,RemotePort 确认端口号未被自动修正,TcpTestSucceeded 是唯一判定依据。
批量检测多个端口并导出结果
第一步:定义端口数组 → 第二步:循环调用测试 → 第三步:格式化为表格输出@(80, 443, 8080, 8443) | ForEach-Object { $r = Test-NetConnection -ComputerName www.test.site -Port $_ -InformationLevel Quiet -WarningAction SilentlyContinue; [PSCustomObject]@{Port=$_; Open=$r.TcpTestSucceeded} } | Format-Table -AutoSize
这条命令会逐个测试 4 个端口,每行显示端口号和 Open 状态(True/False),结果对齐清晰。若要保存为 CSV 文件供后续分析,只需在末尾追加:| Export-Csv "C:\port_check_$(Get-Date -Format 'yyyyMMdd_HHmm').csv" -NoTypeInformation。
注意:导出路径 C:\port_check_*.csv 必须有写入权限,若提示拒绝访问,请改用当前用户有写权限的目录(如 Desktop)。

















