🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
No tenemos DLL pero tenemos:
Analista de archivos de Windows y antivirus rápido en línea

Una interfaz minimalista con búsqueda rápida, carga conveniente y una estructura de sección limpia.

🛡️🔍 Verifique rápidamente su archivo, sólo déjame en esta página.
Verificación de virus, hashes, verificación de firmas, arquitectura, información de IA.

Corrección de error WinRM: Código de estado de redirección HTTP no soportado

Descripción del error

Este error ocurre cuando un cliente de administración remota de Windows (WinRM) intenta conectarse a un servidor o punto final remoto, pero el servidor de destino redirige el tráfico (generalmente a través de un código de estado HTTP 301, 302 o 307) a una URL o puerto HTTPS diferente. Por defecto, el protocolo WinRM trata las redirecciones HTTP como un riesgo de seguridad y las prohíbe explícitamente. Debido a que WinRM se niega a seguir el enlace de redirección, la conexión falla inmediatamente. Este problema ocurre con frecuencia cuando los administradores configuran redirecciones globales de IIS en un servidor, usan balanceadores de carga que forzan automáticamente el tráfico HTTP a HTTPS o escriben el bloque de direcciones equivocado en sus scripts de automatización.


Soluciones paso a paso

Método 1: Evita las redirecciones conectándose directamente al punto final HTTPS

La forma más segura de solucionar este problema es evitar la redirección por completo dirigiéndose directamente a la URL HTTPS final.

  1. Abre la consola de PowerShell o el script de administración.
  2. Localizar el comando que causa el error (generalmente Enter-PSSession, New-PSSession, o Invoke-Command ) y de la Comisión).
  3. Cambiar el parámetro del protocolo de conexión de HTTP a HTTPS, y añadir explícitamente el puerto HTTPS correcto (por defecto es 5986).
    • Example of a bad command causing a redirect:
      New-PSSession -ComputerName "Server01"
    • Example of the corrected command:
      New-PSSession -ComputerName "Server01" -UseSSL
  4. Si está utilizando un URI de conexión específico, asegúrese de que comience explícitamente con https:// y incluye el nombre de dominio correcto para que coincida con el certificado SSL del servidor.

Método 2: Modificar las reglas de redirección de IIS en el servidor de destino

Si controla el servidor remoto, es probable que una regla de redirección HTTP global en los Servicios de Información de Internet (IIS) rompa WinRM. Debe excluir el directorio virtual WinRM de la regla de redirección.

  1. Inicie sesión en el servidor remoto de Windows que causa el error.
  2. Haga clic en el Start Menu, tipo IIS Manager, y abrirlo.
  3. En la izquierda. Connections Pane, expanda su nodo del servidor y haga clic en Sites, luego seleccione el sitio web que aloja sus reglas de redirección (generalmente el Default Web Site ) y de la Comisión).
  4. En el panel central, haga doble clic en HTTP Redirect.
  5. Si redirige todas las solicitudes a un sitio HTTPS, debe agregar una excepción para la ruta WinRM.
  6. To do this using web.config configuration rather than the GUI, open the website root folder (usually C:\inetpub\wwwroot Y abre el web.config el archivo.
  7. Añadir un <location> Regla de ruta para desactivar el redireccionamiento para el PowerShell - ¿ Qué ? wsman las rutas:
    <location path="PowerShell">
        <system.webServer>
            <httpRedirect enabled="false" />
        </system.webServer>
    </location>
  8. Guarde el archivo y reinicie IIS ejecutando iisreset en un Prompt de comandos administrativo.

Método 3: Habilitar la bandera "Permitir redireccionamiento" en las sesiones de PowerShell

Si debe permitir la redirección debido a su infraestructura de red o la configuración del balanceador de carga, puede instruir explícitamente a su opción de sesión de cliente WinRM para permitir las redirecciones.

  1. Abra su script o consola de PowerShell.
  2. Definir un nuevo objeto de opción de sesión WinRM y configurar el AllowRedirection propiedad a verdad.
    $SessionOptions = New-PSSessionOption -AllowRedirection
  3. Pasa este objeto de opción a tu comando de conexión usando el -SessionOption el parámetro.
    New-PSSession -ComputerName "Server01" -SessionOption $SessionOptions
  4. Nota: WinRM solo seguirá la redirección si está utilizando un formato URI de conexión explícito o credenciales explícitas junto con esta opción.

Método 4: Actualizar las configuraciones de SPN y Kerberos

Si el error de redirección es un síntoma engañoso de un fallo de autenticación de Kerberos en el enrutamiento a través de un alias DNS genérico, establecer un Nombre Principal de Servicio (SPN) puede resolverlo.

  1. Abrir un Prompt de comandos como administrador en su controlador de dominio de Active Directory o máquina de administración.
  2. Compruebe los SPN existentes para su servidor de destino ejecutando:
    setspn -L Server01
  3. Si el servidor utiliza un alias DNS o un nombre de host personalizado, registre el WSMan SPN manualmente para vincularlo correctamente a la cuenta del equipo:
    setspn -S WSMAN/Server01 Server01
    setspn -S WSMAN/://yourdomain.com Server01
  4. Reinicie el servicio WinRM en la máquina remota ejecutando Restart-Service WinRM en 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

Puede haber algunos errores.. Learn Microsoft