🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
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 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.

  1. Presiona el... Windows Key + X y seleccione Terminal (Admin) - ¿ Qué ? Command Prompt (Admin).
  2. Escriba el siguiente comando para detener el servicio:
    net stop winrm
  3. Escriba el siguiente comando para reiniciar el servicio:
    net start winrm
  4. 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.

  1. Abrir PowerShell o el Rápido de comandos como un Administrator En el... remote machine.
  2. Ejecute el siguiente comando para comprobar los límites de configuración actuales:
    winrm get winrm/config/winrs
  3. Aumentar la memoria máxima permitida por shell a 2048 MB ejecutando:
    winrm set winrm/config/winrs @{MaxMemoryPerShellMB="2048"}
  4. Aumentar el número máximo de shells simultáneos permitidos por usuario a 30 ejecutando:
    winrm set winrm/config/winrs @{MaxShellsPerUser="30"}
  5. 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.

  1. Abrir PowerShell como un Administrator En el... remote server.
  2. Ejecutar el comando de configuración de auto-reparación:
    winrm quickconfig
  3. If the service is already configured, it will analyze your environment. If it asks you to make changes or open firewall exceptions, type y y 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.

  1. Abrir PowerShell como un Administrator En su... local machine.
  2. Ejecute este comando para comprobar los valores de tiempo de espera del cliente:
    winrm get winrm/config/client
  3. 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.

  1. Compruebe su versión de PowerShell en ambas máquinas ejecutando:
    $PSVersionTable.PSVersion
  2. 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.
  3. Instale todas las actualizaciones de calidad acumulativas pendientes en ambas máquinas para parchear los binarios subyacentes del motor WinRM.
ERROR_WINRS_RECEIVE_NO_RESPONSE_DATA | ERROR_WINRS_CLIENT_CREATESHELL_NULL_PARAM | ERROR_WINRS_CLIENT_FREECREATESHELLRESULT_NULL_PARAM | ERROR_WINRS_CLIENT_RUNCOMMAND_NULL_PARAM | ERROR_WINRS_CLIENT_FREERUNCOMMANDRESULT_NULL_PARAM

Puede haber algunos errores.. Learn Microsoft