Comment réparer "Le client WinRS ne peut pas traiter la requête. Le paramètre requis pour la fonction WinrsCloseSendHandle est nul ou nul".
L'erreur de gestion à distance de Windows (WinRM) "The WinRS client cannot process the request. The parameter required for the WinrsCloseSendHandle function is null or zero" se produit généralement lorsqu'une session PowerShell ou WinRS distante se termine brusquement, reçoit une réponse nulle inattendue du serveur cible ou rencontre une incompatibilité de protocole entre le client et les machines hôtes. Cela signifie que le client WinRM local a essayé de fermer une poignée de canal de communication qui n'a jamais été correctement initialisée ou a déjà été invalidée par l'extrémité distante.
Réparations étape par étape
Méthode 1: redémarrer le service WinRM
Un état de service bloqué ou corrompu sur le client ou le serveur est la cause la plus fréquente.
- Appuyez dessus.
Windows Key + Xet sélectionnez Terminal (Admin) ou... Command Prompt (Admin). - Tapez la commande suivante pour redémarrer le service WinRM sur votre ordinateur local:
net stop winrm && net start winrm - Si vous avez accès à la machine distante, exécutez la même commande sur le serveur cible pour réinitialiser son état d'écoute.
Méthode 2: Réinitialiser la configuration WinRM aux paramètres par défaut
Des paramètres de transport mal configurés ou des paramètres d'écoute corrompus peuvent provoquer des poignées nulles pendant la négociation de session.
- Ouvrez. Command Prompt (Admin).
- Exécutez la commande de configuration rapide pour réparer les paramètres par défaut et activer les exceptions du pare-feu:
winrm quickconfig - Quel type ?
yet appuyez. Enter lorsque vous êtes invité à apporter les modifications nécessaires.
Méthode 3: Augmenter le MaxShellsPerUser et le MaxMemoryPerShellMB
If the remote server kills the session because it exceeds resource limits, the client will receive a null object, triggering this error. You need to run these commands on the target server.
- Ouvrez. PowerShell (Admin) sur la télécommande.
- Vérifiez les limites actuelles en exécutant:
Get-Item WSMan:\localhost\Shell\* - Augmenter le nombre maximal de shells simultanés autorisés par utilisateur:
Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 50 - Augmenter la mémoire allouée par shell pour éviter les chutes hors mémoire:
Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1024 - Redémarrez le service WinRM pour appliquer les modifications:
Restart-Service winrm
Méthode 4: Mettre à jour ou réinstaller Windows Management Framework (WMF)
Les incompatibilités de protocole se produisent lorsque le client et le serveur exécutent des versions significativement différentes de PowerShell / WMF.
- Vérifiez votre version actuelle de PowerShell sur les deux machines en exécutant:
$PSVersionTable.PSVersion - Si l'une des machines exécute une version obsolète (comme WMF 3.0 ou 4.0), téléchargez et installez le dernier package Windows Management Framework ou PowerShell 7 compatible sur le site officiel de Microsoft pour vous assurer que les deux nœuds utilisent les mêmes protocoles WS-Management.
Il y a peut-être des erreurs.. Learn Microsoft