Erreur Windows: le client WinRM Shell ne peut pas traiter la requête
Description de l'erreur
This error occurs when the Windows Remote Management (WinRM) service loses track of the unique identifier (shell handle) assigned to your remote session. It signifies a communication breakdown between your local machine and the remote server.
Les causes courantes
- Network Instability: Les brèves coupures de connexion font tomber le serveur de la session.
- Session Timeouts: Le serveur distant a fermé la session inactive automatiquement.
- Server Resource Limits: La télécommande a atteint son maximum de projectiles simultanés autorisés.
- Service Crashes: Le service WinRM sur la machine distante a redémarré de façon inattendue.
Réparations étape par étape
Correction 1: redémarrer le service WinRM
La mise à jour du service WinRM sur les machines locales et distantes rétablit le cadre de connexion.
- Ouvrez la porte. Start Menu.
- Quel type ? cmd ou... PowerShell.
- Cliquez avec le bouton droit de la souris sur l'application et sélectionnez Run as administrator.
- Quel type ?
net stop winrmet appuyez. Enter. - Attendez que le service s'arrête complètement.
- Quel type ?
net start winrmet appuyez. Enter.
Correction 2: Augmenter le nombre maximal de shells par utilisateur
Si le serveur distant tue votre poignée parce qu'il est à court de ressources, augmenter la limite d'allocation de shell résout le problème.
- Ouvrez. PowerShell en tant qu'administrateur sur le serveur distant.
- Vérifiez la limite actuelle en exécutant:
Get-Item WSMan:\localhost\Shell\MaxShellsPerUser - Augmentez la limite à 50 en courant:
Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 50 - Redémarrez le service WinRM en utilisant les commandes de Fix 1 pour appliquer les modifications.
Correction 3: Ajustez les propriétés du temps d'arrêt au ralenti
Évitez que le serveur ferme prématurément votre poignée de shell pendant les périodes d'inactivité.
- Ouvrez. PowerShell en tant qu'administrateur sur le serveur distant.
- Vérifiez votre paramètre de temps d'arrêt en cours en exécutant:
Get-Item WSMan:\localhost\Shell\IdleTimeout - Réglez la valeur du temps d'arrêt au ralenti à un seuil supérieur (valeur en millisecondes, 7200000 équivaut à 2 heures):
Set-Item WSMan:\localhost\Shell\IdleTimeout 7200000 - Fermez et rouvrez votre console de gestion à distance.
Correction 4: Reconnectez et réinitialisez votre variable de session
Si vous exécutez des scripts via une variable de session stockée (comme $Session ), la variable devient corrompue lorsque la poignée s'invalide. Vous devez l'effacer et la reconstruire.
- Supprimez la variable de session cassée de votre script ou de votre console:
Remove-PSSession $Session - Recréer la session pour obtenir une nouvelle poignée de shell:
$Session = New-PSSession -ComputerName "RemoteServerName" - Entrez la nouvelle session ou exécutez vos commandes à nouveau:
Enter-PSSession $Session
Il y a peut-être des erreurs.. Learn Microsoft