Comment réparer "Le client WinRS ne peut pas traiter la requête. Le paramètre requis pour la fonction WinrsCloseReceiveHandle est nul ou nul".
Description de l'erreur
This error typically occurs when using Windows Remote Management (WinRM) or Windows Remote Shell (WinRS) to execute commands on a remote machine. The message "The WinRS client cannot process the request. The parameter required for the WinrsCloseReceiveHandle function is null or zero" indique une incompatibilité de protocole, un état de session corrompu, ou une défaillance dans la manipulation des pointeurs de mémoire / poignées entre le client local et l'hôte distant. Il se déclenche fréquemment après que des mises à jour Windows spécifiques modifient les comportements de sécurité WinRM, lorsque les limites de gestion WS (telles que MaxShellsPerUser ou MaxMemoryPerShellMB) sont dépassées, ou lorsqu'il y a une interruption active dans le flux réseau fermant les poignées prématurément.
Réparations étape par étape
Suivez ces solutions étape par étape pour résoudre le problème.
Méthode 1: redémarrer le service WinRM
Une prise de session WinRM bloquée ou corrompue sur le client ou la machine hôte est la cause la plus fréquente. Le redémarrage du service efface ces prises.
- Ouvrez la porte. Start Menu, type
cmd, cliquez avec le bouton droit. Command Prompt, et sélectionnez Run as administrator. - Tapez la commande suivante pour arrêter le service et appuyez Enter:
net stop winrm - Tapez la commande suivante pour redémarrer le service et appuyez Enter:
net start winrmRemarque: effectuez ceci à la fois sur l'ordinateur client local et sur l'ordinateur cible distant si vous avez accès.
Méthode 2: augmenter les quotas de configuration WinRM
Si le shell distant est à court de mémoire allouée ou de shells simultanés autorisés, il lâchera brusquement les poignées, ce qui entraînera des erreurs de paramètres nuls.
- Ouvrez. Command Prompt En tant qu'administrateur sur le remote target machine.
- Exécutez la commande suivante pour vérifier les limites de configuration actuelles de WinRM:
winrm get winrm/config/winrs - Augmentez la limite de mémoire par shell en exécutant cette commande (en la réglant à 2048 MB):
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="2048"} - Augmenter le nombre maximal de coquilles simultanées autorisées par utilisateur pour s'assurer que les poignées ne sont pas fermées de force:
winrm set winrm/config/winrs @{MaxShellsPerUser="30"} - Redémarrez le service WinRM pour appliquer les modifications:
net stop winrm && net start winrm
Méthode 3: réparation et réenregistrement des composants WinRM
Corrupted registry entries or system files related to the Windows Remote Shell can cause API functions like WinrsCloseReceiveHandle pour recevoir des paramètres nuls.
- Ouvrez. Command Prompt en tant qu'administrateur.
- Exécutez l'outil Vérificateur de ressources Windows pour réparer les fichiers système manquants ou endommagés:
sfc /scannow - Si des erreurs sont détectées et corrigées, redémarrez votre ordinateur.
- Ensuite, réinitialisez la configuration WinRM à son état sécurisé par défaut en exécutant:
winrm quickconfigQuel type ?
y(Oui) si vous êtes invité à apporter des modifications à l'architecture ou à ouvrir des exceptions au pare-feu.
Méthode 4: Mettre à jour les pilotes d'adaptateur réseau et désactiver le déchargement TCP
La corruption des paquets réseau ou les fonctionnalités d'optimisation sur les cartes réseau peuvent mettre fin prématurément au flux de connexion, laissant la poignée nulle.
- Cliquez avec le bouton droit. Start Menu et sélectionnez Device Manager.
- Élargissez la Network adapters section.
- Right-click your primary network connection adapter (Ethernet or Wi-Fi) and select Properties.
- Allez à la... Advanced Je vous en prie.
- Localiser. IPv4 Checksum Offload, Large Send Offload (LSO), et TCP Checksum Offload Mettez leurs valeurs à... Disabled.
- Cliquez. OK pour sauvegarder les paramètres et redémarrer votre connexion réseau.
Méthode 5: effacer le cache de mise à jour Windows en conflit
Si ce problème a commencé à apparaître immédiatement après une mise à jour de qualité Windows récente, un bug connu dans ce package de mise à jour spécifique pourrait affecter les fichiers binaires WinRS API.
- Ouvrez. Command Prompt en tant qu'administrateur.
- Vérifiez les mises à jour récemment installées en exécutant:
wmic qfe list brief /format:table - Identifier le numéro d'identification KB installé juste avant que l'erreur ne commence à se produire.
- Désinstallez la mise à jour problématique en utilisant la commande suivante (remplacer
1234567avec le numéro de KB effectif):wusa /uninstall /kb:1234567 - Redémarrez votre système et essayez d'exécuter votre commande WinRS à nouveau.
Il y a peut-être des erreurs.. Learn Microsoft