解决Windows错误:WinRM客户端URL不可用
本指南提供了Windows远程管理 (WinRM) 连接错误的全面描述和步骤解决方案.
没有.
错误消息 "The WinRM client sent a request to an HTTP server and got a response saying the requested HTTP URL was not available" typically indicates a misconfiguration between the WinRM client and the target listener service.
When you execute a remote command, the WinRM client attempts to connect to a specific URL endpoint (usually http://<ComputerName>:5985/wsman 这种错误发生在目标HTTP服务器 (WinRM收听器) 积极接收请求,但拒绝了请求.主要原因包括:
- WinRM 收听器未运行或未配置以在正确的端口上收听 (HTTP 的默认值是 5985,HTTPS 的默认值是 5986)
- 在远程计算机上停止或禁用 Windows 远程管理服务.
- 在您的命令中指定的连接URL或端口与收听器配置不匹配.
- 一个本地或网络防火墙正在阻止流量,或者与使用相同端口的其他应用程序存在端口共享冲突.
- 在 Active Directory 中缺少或配置不当的 Web 服务管理 (WS-Management) SPN (服务主名称).
逐步修复问题
在目标机器 (您试图连接的计算机) 或源客户机上按照规定的顺序执行这些解决方案.
解决方案1:启用并重新启动 WinRM 服务
WinRM 服务必须在目标计算机上运行并设置自动启动.
- 按下 Windows Key + R 在键盘上打开运行对话框.
- 它们的类型
services.msc然后按下. Enter. - 在列表中向下滚动查找. Windows Remote Management (WS-Management).
- 在服务上右键单击,然后选择 Properties.
- 换一个 Startup type 下拉菜单到 Automatic.
- 检查 Service status 如果它停止了,点击 Start 如果它已经运行,点击 Stop 然后点击 Start 让它重新启动.
- 点击 Apply 然后点击 OK 保存这些变化.
解决方案2:通过命令提示符快速配置WinRM
这个自动命令修复收听器,启用防火墙例外,并配置默认设置.
- 按下 Windows Key, 类型
cmd,右键点击 Command Prompt,并选择 Run as administrator. - 输入下面的命令并按下 Enter:
winrm quickconfig - The system will analyze your configuration. If it prompts you to make changes (like creating a listener or enabling firewall exceptions), type
y(是的) 并按下. Enter 每一个提示.
解决方案3:验证和重新创建 WinRM 收听器
如果收听器受损或在错误的URL路径上收听,您必须重新创建它.
- 打开 Command Prompt 作为一个管理员.
- 通过键入下面的命令并按下 检查现有收听器 Enter:
winrm enumerate winrm/config/listener - 如果没有收听器出现,或者如果它们看起来不正确,请通过运行删除现有的HTTP收听器:
winrm delete winrm/config/Listener?Address=*+Transport=HTTP - 使用此命令重新创建默认的HTTP收听器:
winrm create winrm/config/Listener?Address=*+Transport=HTTP - 通过从步骤2再次运行 enumeration 命令来验证新的听器配置.
解决方案4:配置本地防火墙例外
确保 Windows 防火墙不会在指定 WinRM 端口上降低入境流量.
- 打开 Command Prompt 作为一个管理员.
- 运行以下命令,允许 WinRM HTTP 流量通过防火墙:
netsh advfirewall firewall set rule group="Windows Remote Management" new enable=yes - 另外,您可以通过执行:
netsh advfirewall firewall add rule name="WinRM HTTP Port 5985" dir=in action=allow protocol=TCP localport=5985
解决方案5: 调整本地帐户TokenFilter策略 (对于工作组)
如果您在不属于 Active Directory 域的计算机之间进行连接,则 Windows 用户帐户控制 (UAC) 可能会限制远程连接的管理权限.
- 按下 Windows Key + R, 类型
regedit,然后按下 Enter 打开注册表编辑器. - 在左侧中导航到以下路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - 在右边窗口中右键单击一个空白空间, New,并选择 DWORD (32-bit) Value.
- 准确命名新值:
LocalAccountTokenFilterPolicy - 双击新创建的
LocalAccountTokenFilterPolicy值,改变 Value data 为了1并且保持基地的状态. Hexadecimal. - 点击 OK 然后关闭注册表编辑器.
- 重新启动您的计算机以应用注册表更改.
ERROR_WSMAN_HTTP_REQUEST_TOO_LARGE_STATUS | ERROR_WSMAN_HTTP_SERVICE_UNAVAILABLE_STATUS | ERROR_WSMAN_EVENTING_MISSING_LOCALE_IN_DELIVERY | ERROR_WSMAN_QUICK_CONFIG_FIREWALL_EXCEPTIONS_DISALLOWED | ERROR_WSMAN_QUICK_CONFIG_LOCAL_POLICY_CHANGE_DISALLOWED
可能有一些错误.. Learn Microsoft