Description de l'erreur
L'erreur de gestion à distance de Windows (WinRM) "The WinRS client cannot process the Receive request because the shell plugin returned an empty response to the request" se produit lorsqu'une session WinRS (Windows Remote Shell) est abruptement terminée ou ne fournit pas de sortie. Cela se produit généralement parce que le processus distant ou le shell s'est écrasé, a atteint une limite de ressources système, a expiré ou a eu sa politique d'exécution bloquée par un logiciel de sécurité.
Réparations étape par étape
Suivez ces étapes pour résoudre le problème.
Étape 1: Augmenter les limites de mémoire WinRM
La cause la plus fréquente est que le shell distant est à court de mémoire allouée, ce qui provoque l'écrasement du plugin et renvoie une réponse vide.
- Ouvrez. PowerShell En tant qu'administrateur sur le remote target machine.
- Vérifiez la limite de mémoire en exécutant:
Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB - Augmentez la limite de mémoire à 1024 Mo (ou plus si nécessaire) en exécutant:
Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1024 - Redémarrez le service WinRM pour appliquer les modifications:
Restart-Service WinRM
Étape 2: Ajuster les utilisateurs simultanés et les limites de la coquille
Si plusieurs sessions s'ouvrent ou si un script génère de nombreux processus, le système peut bloquer la réponse du plugin.
- Ouvrez. PowerShell en tant qu'administrateur sur la machine distante.
- Augmenter le nombre maximal de shells simultanés autorisés par utilisateur:
Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 30 - Augmenter le nombre maximal d'utilisateurs simultanés:
Set-Item WSMan:\localhost\Shell\MaxUsers 10 - Redémarrez le service WinRM:
Restart-Service WinRM
Étape 3: Vérifiez les pannes de processus via le visualiseur d'événements
Si la mémoire n'est pas le problème, l'application ou le script que vous exécutez à distance pourrait être en panne.
- Sur la télécommande, appuyez
Win + R, typeeventvwr.msc, et appuyez Enter. - Navigation à Windows Logs > Application.
- Regardez. Error les journaux de niveau à l'heure exacte où l'erreur WinRS s'est produite.
- Si vous voyez un accident lié à
powershell.exe,cmd.exe, ou votre application spécifique, corriger le code sous-jacent ou le crash de l'application.
Étape 4: Vérifier les contrôles de stratégie de groupe
Parfois, les objets de stratégie de groupe (GPO) limitent le temps d'exécution ou l'allocation de ressources des shells distants.
- Sur la télécommande, appuyez
Win + R, typegpedit.msc, et appuyez Enter. - Naviguez vers: Computer Configuration > Administrative Templates > Windows Components > Windows Remote Shell.
- Vérifiez le statut de Specify maximum amount of memory in MB per Shell Si elle est activée, assurez-vous qu'elle correspond à la valeur élevée définie à l'étape 1.
- Vérifiez. Allow Remote Shell Access et assurez-vous qu' il est réglé. Not Configured ou... Enabled.
Étape 5: Vérifiez les solutions antivirus et EDR
Les outils de détection et de réponse des points de terminaison (EDR) ou les logiciels antivirus signalent souvent les coquilles de fond inattendues comme une activité suspecte et mettent fin silencieusement au processus.
- Désactivez temporairement votre antivirus ou EDR sur la machine distante.
- Exécutez votre commande WinRS à nouveau.
- Si cela réussit, ajoutez une règle d'exclusion pour
winrshost.exeou le chemin spécifique du script que vous exécutez.
Il y a peut-être des erreurs.. Learn Microsoft