Cómo solucionar el error de Windows: "El cliente WinRM no puede procesar la solicitud"
El error de administración remota de Windows (WinRM) generalmente ocurre cuando el sistema no puede establecer una conexión segura entre el equipo local y el host remoto.
Resumen de los errores y causas comunes
Este código de error suele aparecer al usar PowerShell remoto, administrar servidores Hyper-V o ejecutar scripts administrativos. Las razones más comunes detrás de este mensaje incluyen:
- Disabled WinRM Service: El servicio no se ejecuta ni en la máquina local ni en la remota.
- Authentication Issues: Windows está bloqueando la conexión porque el host remoto no es de confianza.
- Network Location Profile: El perfil de red está configurado para "Público", lo que bloquea automáticamente el tráfico WinRM.
- Firewall Blockage: Windows Firewall o software de seguridad de terceros está obstruyendo el puerto 5985 (HTTP) o el puerto 5986 (HTTPS).
- Incorrect Execution Policy: Las restricciones de PowerShell impiden la ejecución remota de scripts.
Soluciones paso a paso
Siga estas soluciones en orden. Debe ejecutar PowerShell o Prompt de comandos como administrador para ejecutar estos comandos.
Corrección 1: Habilitar y iniciar el servicio WinRM
El primer paso absoluto es asegurarse de que el servicio WinRM esté funcionando correctamente y configurado para iniciar automáticamente en ambos ordenadores.
- Presiona el... Windows Key, tipo
powershellHaga clic derecho. Windows PowerShell, y seleccione Run as administrator. - Escriba el siguiente comando para configurar el servicio WinRM y presione Enter:
winrm quickconfig - If prompted to confirm changes (such as creating exceptions in the firewall or changing the service startup type), type
y(Sí) y presiona Enter. - A continuación, inicie manualmente el servicio WinRM para asegurarse de que está activo:
Start-Service WinRM - Configure el tipo de inicio del servicio en Automático para que se ejecute cada vez que se inicie Windows:
Set-Service WinRM -StartupType Automatic
Solución 2: Añadir el host remoto a la lista de hosts confiables
Windows security rules block remote connections unless the target machine is explicitly trusted. You must configure the TrustedHosts configuraciones en su computadora cliente.
- Abierto. Windows PowerShell como Administrador.
- Para permitir conexiones a any computer (best for testing or internal private networks), type this command and press Enter:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force - Si prefiere confiar solo en un ordenador específico para una mejor seguridad, reemplace el asterisco con la dirección IP remota o el nombre de host:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "192.168.1.50" -Force - Reinicie el servicio WinRM para aplicar la nueva configuración:
Restart-Service WinRM
Solución 3: Cambia el perfil de red a privado
WinRM rechazará las conexiones si su conexión de red activa está clasificada como "Pública" porque Windows bloquea la seguridad en lugares públicos.
- Abierto. Windows PowerShell como Administrador.
- Compruebe el estado actual de su red ejecutando:
Get-NetConnectionProfile - Mira el...
NetworkCategorySi dice Public, copia el nombre que aparece al lado deName. - Cambia el perfil de la red a Private ejecutando el siguiente comando (reemplazar
YourNetworkNamecon su nombre real de red):Set-NetConnectionProfile -Name "YourNetworkName" -NetworkCategory Private
Solución 4: Permitir los puertos WinRM a través del firewall de Windows
Incluso si el servicio está funcionando, el cortafuegos local puede dejar activamente caer las solicitudes de administración entrantes o salientes.
- Abierto. Windows PowerShell como Administrador.
- Ejecute este comando para crear una nueva regla de cortafuegos que permita el tráfico HTTP de WinRM (puerto 5985):
New-NetFirewallRule -DisplayName "Allow WinRM HTTP" -Direction Inbound -LocalPort 5985 -Protocol TCP -Action Allow - Si su entorno utiliza conexiones HTTPS, abra el puerto 5986 también:
New-NetFirewallRule -DisplayName "Allow WinRM HTTPS" -Direction Inbound -LocalPort 5986 -Protocol TCP -Action Allow
Corrección 5: Ajustar la política de ejecución de PowerShell
Una política de ejecución demasiado restrictiva puede impedir que Windows procese los scripts necesarios para iniciar una sesión remota.
- Abierto. Windows PowerShell como Administrador.
- Compruebe la configuración actual de la política de ejecución:
Get-ExecutionPolicy - Si la política está configurada para
Restricted, cambiarlo aRemoteSigned- ¿ Qué ?Bypasspermitir acciones de gestión locales:Set-ExecutionPolicy RemoteSigned -Force
Verificación de la solución
Una vez que haya completado los pasos anteriores, puede verificar que el cliente WinRM puede procesar las solicitudes correctamente. Ejecute el siguiente comando en PowerShell para probar una conexión de loopback local:
Test-WSMan
Si tiene éxito, el comando mostrará información sobre la versión del servicio WS-Management y la versión de pila, lo que significa que su cliente WinRM es completamente funcional de nuevo.
ERROR_WSMAN_INVALID_PUBLISHERS_TYPE | ERROR_WSMAN_CLIENT_INVALID_DELIVERY_RETRY | ERROR_WSMAN_CLIENT_NULL_ISSUERS | ERROR_WSMAN_CLIENT_NO_SOURCES | ERROR_WSMAN_INVALID_SUBSCRIBE_OBJECTPuede haber algunos errores.. Learn Microsoft