Corrección de error WinRM: "El cliente WinRM recibió un código de estado HTTP desconocido del servicio remoto WS-Management"
Descripción del error
Este error ocurre cuando un cliente local de Windows Remote Management (WinRM) intenta conectarse a una máquina de destino remota, pero el servidor web remoto o el servicio WS-Management devuelve un código de respuesta HTTP inesperado (como 403 Forbidden, 404 Not Found, o 500 Error del servidor interno) en lugar de las respuestas estándar del protocolo WinRM. Este desajuste generalmente ocurre debido a oyentes WinRM mal configurados, conflictos de puertos con los Servicios de Información de Internet (IIS), configuraciones de autenticación incorrectas, interferencias del servidor proxy o desajustes de certificados SSL / TLS al usar HTTPS.
Soluciones paso a paso
Paso 1: Verificar y reiniciar el servicio WinRM
Asegúrese de que el servicio de administración remota de Windows se ejecute activamente tanto en los ordenadores locales como en los remotos.
- Presione.
Windows Key + R, tiposervices.msc, y presiona Enter. - Desplácese hacia abajo para encontrarlo. Windows Remote Management (WS-Management).
- Compruebe su estado. Si no se está ejecutando, haga clic derecho en él y seleccione Start.
- Si ya se está ejecutando, haga clic derecho y seleccione Restart.
- Haga doble clic en el servicio, cambie el Startup type ¿ Por qué ? Automatic, y haga clic OK.
Paso 2: Verificación de los conflictos portuarios (especialmente con el IIS)
WinRM utiliza puertos predeterminados 5985 (HTTP) ¿ Y qué ? 5986 (HTTPS) Si otra aplicación (como IIS) está escuchando en estos puertos o si WinRM está accidentalmente ligado al puerto 80/443, causará este error.
- Abierto. PowerShell como Administrador.
- Ejecute el siguiente comando para ver qué puertos está escuchando WinRM:
winrm enumerate winrm/config/listener - Verifique si los puertos coinciden con 5985 o 5986. Si nota un conflicto o necesita restablecer la configuración rápida, ejecute:
winrm quickconfig - Presione. Y para aceptar cualquier cambio de configuración.
Paso 3: Configurar hosts de confianza
Si se está conectando a una máquina remota fuera de un entorno de dominio de Active Directory (como un grupo de trabajo), su máquina local debe confiar en el host remoto.
- Abierto. PowerShell como administrador en su máquina local.
- Ejecute el siguiente comando para permitir conexiones a todos los hosts (o reemplace
*con la dirección IP remota específica):Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force - Reinicie el servicio WinRM para aplicar los cambios:
Restart-Service winrm
Paso 4: Evita la configuración del servidor proxy
A veces, las configuraciones de proxy del sistema local dirigen el tráfico interno de WinRM a un servidor proxy externo, que no reconoce el tráfico de WS-Management y devuelve un código de estado HTTP desconocido.
- Abierto. Command Prompt como Administrador.
- Compruebe si un proxy está configurado ejecutando:
netsh winhttp show proxy - Si un proxy está activo y enrutando el tráfico local, restablecerlo ejecutando:
netsh winhttp reset proxy - Alternatively, ensure your environment variables bypass proxies for local addresses by adding the remote machine's IP to your environment's
NO_PROXYla lista.
Paso 5: Ajustar la configuración de autenticación
El error puede desencadenarse si el cliente y el servidor no están de acuerdo en el método de autenticación (por ejemplo, Negociar, Básico, CredSSP).
- Abierto. PowerShell como administrador tanto en el cliente como en máquinas remotas.
- Habilitar la autenticación por negociación estándar ejecutando:
Set-Item WSMan:\localhost\Service\Auth\Negotiate -Value $true Set-Item WSMan:\localhost\Client\Auth\Negotiate -Value $true - Si su estrategia de conexión requiere autenticación básica, habilite explícitamente:
Set-Item WSMan:\localhost\Service\Auth\Basic -Value $true Set-Item WSMan:\localhost\Client\Auth\Basic -Value $true
ERROR_WSMAN_INVALID_BATCH_SETTINGS_PARAMETER | ERROR_WSMAN_SERVER_DESTINATION_LOCALHOST | ERROR_WSMAN_UNSUPPORTED_HTTP_STATUS_REDIRECT | ERROR_WSMAN_HTTP_REQUEST_TOO_LARGE_STATUS | ERROR_WSMAN_HTTP_SERVICE_UNAVAILABLE_STATUS
Puede haber algunos errores.. Learn Microsoft