🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
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: El cliente WinRS no puede procesar la solicitud

This error typically occurs when using Windows Remote Management (WinRM) or Windows Remote Shell (WinRS) to execute commands on a remote computer. The specific error message, "El parámetro requerido para la función WinrsFreePullResult es nulo o cero", indica un desajuste de protocolo, un estado de sesión dañado, problemas de tamaño del búfer o un truncamiento inesperado de la carga útil de datos entre el cliente y la máquina de destino remoto durante la recuperación de datos.

A continuación se muestra la descripción completa y detallada de por qué sucede esto y una guía completa paso a paso para solucionarlo.


Resumen de errores y causas

el WinrsFreePullResult function es una llamada interna de API utilizada por el cliente de Windows Remote Shell para liberar recursos de memoria asignados para extraer resultados de ejecución de comandos del servidor remoto. Cuando esta función recibe un parámetro nulo o cero, significa que el lado del cliente esperaba un puntero de memoria válido o tamaño de fragmento de datos del flujo de red, pero recibió una respuesta vacía o dañada.

Los desencadenantes comunes de este error incluyen:


Soluciones paso a paso

Siga estos pasos en secuencia para resolver el error. Necesitará privilegios administrativos tanto en el equipo cliente como en la máquina remota para ejecutar estos comandos.

Paso 1: Reinicie el servicio WinRM

La solución más rápida para la corrupción temporal de la sesión es reiniciar el servicio de administración remota de Windows en ambas máquinas.

  1. Abre el menú Inicio, escribe cmd Haga clic derecho. Command Prompt, y seleccione Run as administrator.
  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 idénticos en la máquina remota si tiene acceso alternativo a ella (por ejemplo, a través de RDP o acceso físico).

Paso 2: Aumentar la MaxMemoryPerShellMB y los búferes de salida

Si el comando que está ejecutando genera cantidades masivas de texto o datos de salida, los límites de memoria WinRM predeterminados dejarán caer la conexión y desencadenarán este error.

  1. En el... Remote Target Machine ¡ Abierto ! PowerShell as an Administrator.
  2. Compruebe los límites de la configuración actual ejecutando:
    Get-Item WSMan:\localhost\Shell\*
  3. Aumente la memoria asignada por shell desde el valor predeterminado (normalmente 512 MB o 1024 MB) a 2048 MB ejecutando:
    Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048
  4. Aumente el número máximo de shells simultáneos permitidos por usuario para asegurarse de que su sesión no se esté ahogando:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 30
  5. Reinicie el servicio WinRM para aplicar estos cambios:
    Restart-Service winrm

Paso 3: Modificar las URI y las configuraciones de tiempo de espera en el cliente

Si el cliente abandona la solicitud mientras espera una respuesta de larga duración, el puntero de datos interno se vuelve nulo.

  1. En su... Local Client Machine ¡ Abierto ! PowerShell as an Administrator.
  2. Establezca el tiempo de espera estructural predeterminado más alto para permitir que los grandes flujos de datos se completen con éxito:
    Set-Item WSMan:\localhost\Client\DefaultPorts\HTTP 5985
    Set-Item WSMan:\localhost\Client\NetworkDelayms 60000
  3. Si está ejecutando el comando usando el winrs ejecutable, apéndice el -t Parámetro para aumentar el tiempo de ejecución manualmente. Por ejemplo:
    winrs -r:RemoteComputerName -t:600 "your-command-here"

    (Nota: El -t:600 las banderas establecen el límite de tiempo de espera en 600 segundos).

Paso 4: Registro y reparación de la configuración WinRM

Si las configuraciones se han desalineado o los descriptores de seguridad están dañados, restablecer la infraestructura de WinRM puede reparar los puntos finales subyacentes.

  1. En el... Remote Target Machine ¡ Abierto ! Command Prompt as an Administrator.
  2. Ejecute la utilidad de configuración para reparar los oyentes y abrir automáticamente las excepciones del cortafuegos:
    winrm quickconfig
  3. Si se le pide que haga cambios o analice el estado, presione y y golpear. Enter para aceptarlo.
  4. Si la configuración ya se está ejecutando, restablezca completamente las configuraciones de configuración a los estados predeterminados utilizando:
    winrm invoke restore winrm/config @{}
  5. Vuelve a correr. winrm quickconfig después de una restauración para reconstruir puntos finales limpios.

Paso 5: Compruebe la inspección de paquetes de red y los tamaños de MTU

Los paquetes grandes que contienen cargas útiles de datos pueden fragmentarse a través de rutas de red.

  1. Deshabilitar la inspección temporal de paquetes profundos o el escaneo de tráfico HTTP para puertos 5985 (HTTP) y 5986 (HTTPS) dentro de los cortafuegos locales o del perímetro de la red.
  2. Ensure that your Network Interface Card (NIC) Maximum Transmission Unit (MTU) size matches on both client and host (Standard value is 1500 Puede comprobar esto en el menú de comandos a través de:
    netsh interface ipv4 show subinterfaces

ERROR_WINRS_CLIENT_SIGNAL_NULL_PARAM | ERROR_WINRS_CLIENT_RECEIVE_NULL_PARAM | ERROR_WINRS_CLIENT_PULL_NULL_PARAM | ERROR_WINRS_CLIENT_CLOSERECEIVEHANDLE_NULL_PARAM | ERROR_WINRS_CLIENT_SEND_NULL_PARAM

Puede haber algunos errores.. Learn Microsoft