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

Cómo arreglarlo "El cliente WinRM Shell no puede procesar la solicitud. Uno de los parámetros requeridos para la función WSManSignalShell es nulo o cero".

Descripción del error

Este error se produce cuando el cliente de administración remota de Windows (WinRM) intenta enviar una señal de control (como terminar un proceso o cerrar una sesión) a un shell remoto, pero la API de administración de WS subyacente recibe un parámetro no válido, faltante o cero ( WSManSignalShell Esto suele indicar una incompatibilidad de configuración entre el cliente local y el host remoto, estados de sesión de shell dañados, componentes Windows PowerShell / WinRM obsoletos o políticas de seguridad de red restrictivas que bloquean la carga útil de señal específica.


Soluciones paso a paso

Paso 1: Reinicie el servicio WinRM

Un servicio WinRM fallido o congelado en la computadora local o en el servidor remoto puede causar fallas en la entrega de parámetros.

  1. Presione. Windows Key + X y seleccione Terminal (Admin) - ¿ Qué ? Command Prompt (Admin).
  2. Escriba el siguiente comando para detener el servicio y presione Enter:
    net stop winrm
  3. Escriba el siguiente comando para reiniciar el servicio y presione Enter:
    net start winrm
  4. Realice estos pasos tanto en su máquina local como en la máquina de destino remoto si es posible.

Paso 2: Actualizar o volver a registrar los componentes de gestión de WS

Si los archivos del sistema local responsables de las funciones WSMan no están registrados o están dañados, WinRM puede pasar parámetros nulos.

  1. Abierto. Command Prompt as Administrator.
  2. Ejecute el siguiente comando para restablecer la configuración de WinRM a sus configuraciones predeterminadas:
    winrm quickconfig
  3. ¿ Qué tipo ? Y y presiona. Enter si se le pide que haga cambios o que active las excepciones del cortafuegos.

Paso 3: Aumentar WinRM MaxShellsPerUser y MaxMemoryPerShellMB

Cuando un shell remoto se queda sin memoria asignada o excede el número permitido de shells concurrentes, deja caer o corrompe los paquetes de sesión entrantes, lo que lleva a valores nulos en las llamadas de funciones.

  1. Abierto. PowerShell as Administrator en la máquina remota (o localmente si se resuelven fallos locales).
  2. Compruebe los límites actuales ejecutando:
    Get-Item WSMan:\localhost\Shell\*
  3. Aumentar la memoria máxima asignada por shell para garantizar que la carga útil de la señal no se caiga:
    Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1024
  4. Aumentar el número máximo de shells simultáneos permitidos por usuario:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 30
  5. Reinicie el servicio WinRM utilizando los comandos del paso 1 para aplicar los cambios.

Paso 4: Añadir el host de destino a la lista de hosts de confianza

If the client does not fully trust the remote endpoint, certain advanced management signals like WSManSignalShell puede ser despojado debido a restricciones de seguridad.

  1. Abierto. PowerShell as Administrator en su máquina cliente local.
  2. Ejecute el siguiente comando para confiar en la máquina remota específica (reemplazar REMOTE_IP_OR_NAME con la dirección IP o el nombre de host de su computadora remota real):
    Set-Item WSMan:\localhost\Client\TrustedHosts -Value "REMOTE_IP_OR_NAME" -Force

    (Nota: el uso de ` ` en lugar del nombre si desea confiar en todos los hosts para fines de prueba, aunque esto es menos seguro).*

  3. Reinicie el servicio WinRM en su máquina local.

Paso 5: Verifique la compatibilidad de PowerShell y.NET Framework

Una incompatibilidad entre la versión de PowerShell que se ejecuta en la máquina cliente y la versión que se ejecuta en el host remoto puede hacer que los objetos de parámetros serializados se desempaqueten incorrectamente como nulo.

  1. Compruebe su versión de PowerShell en ambas máquinas ejecutando:
    $PSVersionTable.PSVersion
  2. Si una máquina está ejecutando una versión obsoleta de Windows Management Framework (WMF) o.NET Framework, descargue e instale las últimas actualizaciones a través de Windows Update para asegurarse de que ambos terminales usen protocolos coincidentes.
ERROR_WINRS_CLIENT_RUNCOMMAND_NULL_PARAM | ERROR_WINRS_CLIENT_FREERUNCOMMANDRESULT_NULL_PARAM | ERROR_WINRS_CLIENT_RECEIVE_NULL_PARAM | ERROR_WINRS_CLIENT_FREEPULLRESULT_NULL_PARAM | ERROR_WINRS_CLIENT_PULL_NULL_PARAM

Puede haber algunos errores.. Learn Microsoft