首页/系统/Windows 运维速查/Test-WSMan 与 WinRM 连接排错

Test-WSMan 与 WinRM 连接排错

排 WinRM 连不通:先 Test-WSMan 分层验证(本地/远程/SSL),再看服务、监听、防火墙与策略四件套。

Windows 运维速查系统更新于 2026-10-13

Test-WSMan 是什么

Test-WSMan 向目标机器的 WinRM 端点发一次协议级探测,能连通就返回服务的版本与厂商信息。它只验证协议层是否可用,不代表认证能通过,但正因为分得清这两层,排错时先跑它就能把问题范围压缩一半:不通是服务、监听、防火墙或网络策略的问题;通了但后续命令认证失败,方向就转到凭据与信任。

基本信息

适用平台Windows 8 / Server 2012 及以后;WinRM 已启用
基本语法Test-WSMan [-ComputerName x] [-UseSSL] [-Credential ...]
返回内容协议版本、产品厂商与版本
默认端口HTTP 5985、HTTPS 5986
前置条件目标端 WinRM 服务运行且监听正常
配套检查服务状态、监听器、防火墙规则、网络可达性

排查步骤

  • 本机自测:Test-WSMan 不加参数,确认 WinRM 服务本身正常
  • 远程协议探测:加 -ComputerName 验证端点可达
  • 服务检查:确认 WinRM 服务处于运行状态
  • 监听检查:查看 WSMan: 提供程序下的监听器配置
  • 防火墙检查:确认远程管理相关规则处于启用状态
  • 网络层检查:先 ping 与端口探测,排除策略拦截

常用示例

常用示例
Test-WSMan                                        # 本机自测,先排除服务端问题
Test-WSMan -ComputerName srv01                    # 远程协议探测
Test-WSMan -ComputerName srv01 -UseSSL            # 走 HTTPS 端点
Get-Service WinRM | Select-Object Name, Status, StartType          # 服务状态
Get-ChildItem WSMan:\localhost\Listener | Select-Object Keys      # 监听器配置
Get-NetFirewallRule -DisplayGroup 'Windows 远程管理' | Select-Object DisplayName, Enabled, Direction   # 防火墙
Test-NetConnection srv01 -Port 5985               # 端口层验证

现象与方向

现象含义下一步
本地通、远程不通网络或对方服务问题查端口与防火墙
超时而非拒绝被网络策略静默丢弃确认隔离与路由策略
协议通但认证失败凭据或信任问题查账号、域信任与 SPN
报 SSL 错误走 HTTPS 但证书不受信校验证书链与名称
名称解析失败DNS 或 hosts 问题先解决解析
Test-WSMan 成功只说明协议层通,认证失败要等 Invoke-Command 之类的命令才会暴露;把两层分开看,排错方向的判断会准确很多。
网络策略隔离或跨网段限制会让探测超时而不是明确拒绝,看起来像对方服务没起,此时先用端口探测与路由检查排除网络层,再回来怀疑 WinRM。

易错点

  • 把协议探测成功当作认证一定可用,忽略了凭据与信任这一层
  • 目标机域名与 IP 解析不一致,导致证书校验与信任判断混乱
  • 只看服务是否运行,不检查监听器与防火墙,问题其实卡在后两层
  • 跨网段排障时跳过网络层,在服务配置上反复折腾却没有进展

数据来源与参考

  • Microsoft Learn:Test-WSMan
  • Microsoft Learn:排查 WinRM 连接问题

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌