如何修复 "WS管理服务无法处理请求,因为选择器值与已知资源不匹配,或者资源离线".
"WS-Management服务无法处理请求,因为选择器值与已知资源不匹配,或资源离线"错误通常发生在Windows远程管理 (WinRM) 连接失败时. 这是因为客户端试图使用错误的标识符 (选择器) 与远程资源通信,或者目标机器上的WinRM服务被停止,配置错误或被防火墙阻止.
如何解决问题 (一步一步)
您需要在本地计算机和远程计算机上使用管理权限.
步骤1:验证并启动 WinRM 服务
最常见的原因是 WinRM 服务在目的机上没有运行.
- 打开门 Start Menu 在目标 (远程) 计算机上.
- 它们的类型
cmd,右键按下 Command Prompt,并选择 Run as administrator. - 输入下面的命令并按下 Enter:
winrm quickconfig - 如果提示进行更改或启动服务,键入
y(是的) 并按下. Enter 这个命令启动了WinRM服务,并将其启动类型设置为自动.
步骤2:检查终点URL和选择器值
如果您正在使用PowerShell远程 (如 Invoke-Command 或是 Enter-PSSession ),确保您没有传递一个无效或不匹配的资源URI.
- 如果您的目标是特定的工作流程或自定义 shell,请验证您的
-ConfigurationName在PowerShell中参数. - 如果您正在使用特定的URI,请验证资源的拼写与服务器上定义的配置准确匹配.
- 对于标准的远程管理,使用默认连接而没有指定自定义选择器:
Enter-PSSession -ComputerName "RemoteComputerName"
步骤3:通过集团策略启用远程管理 (如果适用)
在域环境中,组策略可能会阻止资源终点.
- 在遥控器上,按下
Windows Key + R, 类型gpedit.msc,然后按下 Enter. - 导航到: Computer Configuration 没有. Administrative Templates 没有. Windows Components 没有. Windows Remote Management (WinRM) 没有. WinRM Service.
- 双击 Allow remote server management through WinRM.
- 设置为 Enabled,并定义IPv4和IPv6过器为
*(或允许特定的IP范围). - 点击 Apply 然后 OK.
- 打开命令提示符作为管理员并运行.
gpupdate /force立即实施变更.
步骤4:将目标添加到可信托主机 (对于工作组)
如果计算机不在相同的Active Directory域中,则客户机将拒绝连接,除非服务器是值得信赖的.
- 在你的 local (client) computer,打开PowerShell作为一个管理员.
- 运行下面的命令来信任远程计算机 (取代
RemoteComputerName具有实际的IP地址或主机名):Set-Item WSMan:\localhost\Client\TrustedHosts -Value "RemoteComputerName" -Force - 在本地机器上重新启动 WinRM 服务,以应用更改:
Restart-Service winrm
步骤5:检查Windows防火墙端口
防火墙可能阻到资源终点所需的网络流量.
- 在远程计算机上,打开 PowerShell 作为管理员.
- 运行下列命令以确保端口5985 (HTTP) 和5986 (HTTPS) 打开:
Enable-NetFirewallRule -DisplayGroup "Windows Remote Management"
ERROR_WSMAN_INVALID_SELECTOR_NAME | ERROR_WSMAN_ENCODING_TYPE | ERROR_WSMAN_INVALID_HEADER | ERROR_WSMAN_ENUMERATE_UNSUPPORTED_EXPIRATION_TYPE | ERROR_WSMAN_MAX_ELEMENTS_NOT_SUPPORTED
可能有一些错误.. Learn Microsoft