Corrección de error de Windows: Parámetro de cliente de WinRM Shell nulo o cero
Descripción del error
Este error se produce cuando se utiliza la herramienta de administración remota de Windows (WinRM) para ejecutar comandos en un sistema remoto a través de Windows Remote Shell ( winrs El mensaje específico The WinRM Shell client cannot process the request. One of the parameters required for the WinrsCloseShell function is null or zero indicates a protocol mismatch, unexpected connection termination, or session corruption.
Por lo general, ocurre cuando el host remoto termina el contexto de ejecución de comandos inesperadamente, o cuando la comunicación es bloqueada por un dispositivo de red, firewall o software de seguridad a mitad de sesión. También puede ser causada por una configuración WinRM obsoleta, sesiones de shell dañadas en el servidor objetivo o políticas de grupo estrictas que imponen tiempos de espera de conexión agresivos.
Soluciones paso a paso
Es posible que necesite privilegios administrativos tanto en la máquina local como en la máquina de destino remota.
Paso 1: Reinicie el servicio WinRM en ambas máquinas
Un estado de memoria dañado o una sesión suspendida puede causar este error. Reiniciar el servicio de administración remota de Windows borrará las sesiones existentes.
- Presiona el... Windows Key + X y seleccione Terminal (Admin) - ¿ Qué ? Command Prompt (Admin).
- Escriba el siguiente comando para detener el servicio:
net stop winrm - Escriba el siguiente comando para reiniciar el servicio:
net start winrm - Realice estos pasos tanto en su computadora local como en el servidor remoto al que intenta conectarse.
Paso 2: Aumentar las WinRM Max Shells y Max Memory por Shell
El error puede ocurrir si su sesión alcanza los límites máximos de recursos asignados en el servidor remoto, obligando al servidor a cerrar el shell inesperadamente.
- Abrir PowerShell o el Rápido de comandos como un Administrator En el... remote machine.
- Ejecute el siguiente comando para comprobar los límites de configuración actuales:
winrm get winrm/config/winrs - Aumentar la memoria máxima permitida por shell a 2048 MB ejecutando:
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="2048"} - Aumentar el número máximo de shells simultáneos permitidos por usuario a 30 ejecutando:
winrm set winrm/config/winrs @{MaxShellsPerUser="30"} - Reinicie el servicio WinRM en la máquina remota utilizando las instrucciones del paso 1 para aplicar los cambios.
Paso 3: Verificar y volver a registrar los componentes del servicio WinRM
Las configuraciones de infraestructura faltantes o las corrupciones del oyente pueden dejar caer parámetros a mitad de sesión.
- Abrir PowerShell como un Administrator En el... remote server.
- Ejecutar el comando de configuración de auto-reparación:
winrm quickconfig - If the service is already configured, it will analyze your environment. If it asks you to make changes or open firewall exceptions, type
yy presiona. Enter.
Paso 4: Ajuste el tiempo de espera de la red y la configuración de mantenimiento
Si un firewall o un balanceador de carga físico deja caer las conexiones inactivas, el cliente WinRM intentará cerrar un shell que ya no existe en el servidor, causando un error de parámetro nulo.
- Abrir PowerShell como un Administrator En su... local machine.
- Ejecute este comando para comprobar los valores de tiempo de espera del cliente:
winrm get winrm/config/client - Aumentar el límite de tiempo de espera operativo a 5 minutos (300.000 milisegundos) para evitar caídas prematuras de desconexión:
winrm set winrm/config/client @{Timeout="300000"}
Paso 5: Compruebe la compatibilidad de Windows Update y la versión de PowerShell
A known protocol bug in older versions of the Windows Management Framework (WMF) can trigger this specific WinrsCloseShell error al comunicarse entre diferentes versiones de Windows Server.
- Compruebe su versión de PowerShell en ambas máquinas ejecutando:
$PSVersionTable.PSVersion - Si su máquina remota está ejecutando Windows Server 2012 o Windows Server 2016 con una versión obsoleta de WMF 5.1, navegar a Windows Update.
- Instale todas las actualizaciones de calidad acumulativas pendientes en ambas máquinas para parchear los binarios subyacentes del motor WinRM.
Puede haber algunos errores.. Learn Microsoft