🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
我们没有DLL,但我们有:
Windows文件分析器和在线快速反病毒

一个简约的界面,具有快速搜索,方便的上传和干净的部分结构.

🛡️🔍 快速验证你的档案,只需要放上这个页面.
病毒检查,哈希,签名验证,架构,人工智能信息.

修复 WinRM 错误:HTTP重定向状态代码不支持

错误的描述

这个错误发生在Windows远程管理 (WinRM) 客户端尝试连接到远程服务器或终端时,但目标服务器将流量重定向 (通常通过HTTP 301,302或307状态码) 到不同的URL或HTTPS端口.默认情况下,WinRM协议将HTTP重定向视为安全风险,并明确禁止它们.由于WinRM拒绝遵循重定向链接,连接立即失败.当管理员在服务器上配置全球IIS重定向,使用自动将HTTP流量强制到HTTPS的负载平衡器,或在自动化脚本中输入错误地址块时,这种问题经常发生.


逐步修复问题

方法1:通过直接连接到HTTPS终端点绕过重定向

最安全的解决方法是完全避免重定向,直接针对最终的HTTPS URL.

  1. 打开你的PowerShell控制台或管理脚本.
  2. 找到导致错误的命令 (通常是 Enter-PSSession, New-PSSession 或是 Invoke-Command ) 没有.
  3. 将连接协议参数从HTTP更改为HTTPS,并明确添加正确的HTTPS端口 (默认为5986).
    • Example of a bad command causing a redirect:
      New-PSSession -ComputerName "Server01"
    • Example of the corrected command:
      New-PSSession -ComputerName "Server01" -UseSSL
  4. 如果您使用一个特定的连接URI,请确保它明确以 https:// 并包含正确的域名以匹配服务器的SSL证书.

方法2:修改目标服务器上的IIS重定向规则

如果您控制远程服务器,则互联网信息服务 (IIS) 的全球 HTTP 重定向规则可能会破坏 WinRM.您必须将 WinRM 虚拟目录排除在重定向规则之外.

  1. 登录导致错误的远程Windows服务器.
  2. 按下 Start Menu, 类型 IIS Manager 然后打开它.
  3. 在左边. Connections 扩展服务器节点,点击 Sites,然后选择您的重定向规则的网站 (通常是 Default Web Site ) 没有.
  4. 在中间窗口中,双击 HTTP Redirect.
  5. 看看你的重定向配置.如果它将所有请求重定向到HTTPS网站,你需要为WinRM路径添加一个例外.
  6. To do this using web.config configuration rather than the GUI, open the website root folder (usually C:\inetpub\wwwroot ) 并打开 web.config 文件.
  7. 添加一个 <location> 路径规则禁用重定向 PowerShell 或是 wsman 路径:
    <location path="PowerShell">
        <system.webServer>
            <httpRedirect enabled="false" />
        </system.webServer>
    </location>
  8. 保存文件并通过运行重新启动IIS iisreset 在一个管理命令提示符中.

方法3:在PowerShell会话中启用"允许重定向"标志

如果您必须允许重定向,因为您的网络基础设施或负载平衡器设置,您可以明确指示您的WinRM客户端会话选项允许重定向.

  1. 打开你的PowerShell脚本或控制台.
  2. 定义一个新的WinRM会话选项对象并设置 AllowRedirection 它们的属性是真实的.
    $SessionOptions = New-PSSessionOption -AllowRedirection
  3. 将此选项对象传输到您的连接命令中. -SessionOption 参数
    New-PSSession -ComputerName "Server01" -SessionOption $SessionOptions
  4. 注意: WinRM 只会遵循重定向, 如果您在此选项旁边使用明确的连接URI格式或明确的凭证.

方法4:更新SPN和Kerberos设置

如果重定向错误是 Kerberos 身份验证失败的误导性症状,通过通用 DNS 别名路由,设置服务主名称 (SPN) 可以解决它.

  1. 在您的Active Directory域控制器或管理机器上作为管理员打开命令提示符.
  2. 检查您的目标服务器的现有SPN通过运行:
    setspn -L Server01
  3. 如果服务器使用DNS别名或自定义主机名,请手动注册WSMan SPN以正确地将其绑定到计算机帐户:
    setspn -S WSMAN/Server01 Server01
    setspn -S WSMAN/://yourdomain.com Server01
  4. 在远程机器上重新启动 WinRM 服务. Restart-Service WinRM 在PowerShell中.
ERROR_WSMAN_SERVER_DESTINATION_LOCALHOST | ERROR_WSMAN_UNKNOWN_HTTP_STATUS_RETURNED | ERROR_WSMAN_HTTP_REQUEST_TOO_LARGE_STATUS | ERROR_WSMAN_HTTP_SERVICE_UNAVAILABLE_STATUS | ERROR_WSMAN_HTTP_NOT_FOUND_STATUS

可能有一些错误.. Learn Microsoft