🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
Nous n'avons pas de DLL mais nous avons:
L'analyseur de fichiers Windows et l'antivirus rapide en ligne

Une interface minimaliste avec une recherche rapide, un téléchargement pratique et une structure de section propre.

🛡️🔍 Vérifiez rapidement votre dossier, cliquez sur cette page.
Vérifier les virus, les hachages, vérifier les signets, l'architecture, les informations sur l'IA.

Correction d'erreur Windows: le client WinRS ne peut pas traiter la demande

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, "Le paramètre requis pour la fonction WinrsFreePullResult est nul ou nul", indique un désaccord de protocole, un état de session corrompu, des problèmes de dimensionnement du tampon ou une troncation inattendue de la charge utile des données entre le client et la machine cible distante lors de la récupération des données.

Vous trouverez ci-dessous une description complète et détaillée des raisons pour lesquelles cela se produit et un guide détaillé étape par étape pour y remédier.


Vue d' ensemble et causes de l' erreur

le WinrsFreePullResult function est un appel API interne utilisé par le client Windows Remote Shell pour libérer les ressources de mémoire allouées pour extraire les résultats de l'exécution des commandes du serveur distant. Lorsque cette fonction reçoit un paramètre nul ou zéro, cela signifie que le côté client s'attendait à un pointeur de mémoire valide ou à une taille de morceau de données du flux réseau, mais a reçu une réponse vide ou corrompue à la place.

Les causes courantes de cette erreur sont les suivantes:


Réparations étape par étape

Suivez ces étapes en séquence pour résoudre l'erreur. Vous aurez besoin de privilèges d'administrateur sur l'ordinateur client et sur l'ordinateur distant pour exécuter ces commandes.

Étape 1: redémarrer le service WinRM

La solution la plus rapide pour une session temporaire corrompue est de redémarrer le service de gestion à distance Windows sur les deux machines.

  1. Ouvrez le menu Démarrer, tapez cmd, cliquez avec le bouton droit. Command Prompt, et sélectionnez Run as administrator.
  2. Tapez la commande suivante pour arrêter le service:
    net stop winrm
  3. Tapez la commande suivante pour redémarrer le service:
    net start winrm
  4. Effectuez ces mêmes étapes sur la machine distante si vous avez un accès alternatif (par exemple, via RDP ou accès physique).

Étape 2: Augmenter la mémoire maximale par ShellMB et les tampons de sortie

Si la commande que vous exécutez génère des quantités massives de texte ou de données de sortie, les limites de mémoire WinRM par défaut supprimeront la connexion et déclencheront cette erreur.

  1. Sur le... Remote Target Machine Ouvrez ! PowerShell as an Administrator.
  2. Vérifiez les limites de configuration actuelles en exécutant:
    Get-Item WSMan:\localhost\Shell\*
  3. Augmentez la mémoire allouée par shell par défaut (généralement 512MB ou 1024MB) à 2048MB en exécutant:
    Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048
  4. Augmentez le nombre maximum de coquilles simultanées autorisées par utilisateur pour vous assurer que votre session n'est pas étouffée:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 30
  5. Redémarrez le service WinRM pour appliquer ces modifications:
    Restart-Service winrm

Étape 3: Modifier les URI et les paramètres de Timeout sur le client

Si le client abandonne la requête en attendant une réponse longue, le pointeur de données interne devient nul. Vous pouvez étendre les valeurs de temps d'arrêt de l'opération.

  1. À votre place. Local Client Machine Ouvrez ! PowerShell as an Administrator.
  2. Réglez le temps d'arrêt structurel par défaut plus haut pour permettre aux grands flux de données de se terminer avec succès:
    Set-Item WSMan:\localhost\Client\DefaultPorts\HTTP 5985
    Set-Item WSMan:\localhost\Client\NetworkDelayms 60000
  3. Si vous exécutez la commande en utilisant le winrs Exécutable, ajouter le -t paramètre permettant d'augmenter le temps d'exécution manuellement. Par exemple:
    winrs -r:RemoteComputerName -t:600 "your-command-here"

    (Note: le -t:600 les drapeaux fixent le seuil de temps d'arrêt à 600 secondes).

Étape 4: Réenregistrer et réparer la configuration WinRM

Si les configurations sont devenues mal alignées ou si les descripteurs de sécurité sont endommagés, la réinitialisation de l'infrastructure d'écoute WinRM peut réparer les endpoints sous-jacents.

  1. Sur le... Remote Target Machine Ouvrez ! Command Prompt as an Administrator.
  2. Exécutez l' utilitaire de configuration pour réparer les auditeurs et ouvrir automatiquement les exceptions du pare-feu:
    winrm quickconfig
  3. Si vous êtes invité à apporter des modifications ou à analyser l'état, appuyez sur y et frappe. Enter Pour l'accepter.
  4. Si la configuration est déjà en cours d'exécution, réinitialisez complètement les paramètres de configuration aux états par défaut en utilisant:
    winrm invoke restore winrm/config @{}
  5. Retourne. winrm quickconfig après une restauration pour reconstruire des points d'extrémité propres.

Étape 5: Vérifiez l'inspection des paquets réseau et la taille des MTU

Les grands paquets contenant des charges utiles de données peuvent être fragmentés sur les itinéraires du réseau.

  1. Désactiver l' inspection temporaire des paquets profonds ou l' analyse du trafic HTTP pour les ports 5985 (HTTP) et 5986 (HTTPS) dans les pare-feu de périmètre local ou réseau.
  2. Ensure that your Network Interface Card (NIC) Maximum Transmission Unit (MTU) size matches on both client and host (Standard value is 1500 Vous pouvez vérifier cela dans l'invite de commande via:
    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

Il y a peut-être des erreurs.. Learn Microsoft