Correction de l'erreur WinRM: "Le client WinRM a reçu un code d'état HTTP inconnu du service distant WS-Management"
Description de l'erreur
Cette erreur se produit lorsqu'un client local de Windows Remote Management (WinRM) tente de se connecter à une machine cible distante, mais le serveur Web distant ou le service WS-Management renvoie un code de réponse HTTP inattendu (comme 403 Forbidden, 404 Not Found, ou 500 Internal Server Error) au lieu des réponses standard du protocole WinRM. Cette incompatibilité se produit généralement en raison d'écouteurs WinRM mal configurés, de conflits de port avec Internet Information Services (IIS), de paramètres d'authentification incorrects, d'interférences du serveur proxy ou d'anomalies de certificat SSL / TLS lors de l'utilisation de HTTPS.
Réparations étape par étape
Étape 1: Vérifier et redémarrer le service WinRM
Assurez-vous que le service de gestion à distance de Windows est activement exécuté sur les ordinateurs locaux et distants.
- Appuyez dessus.
Windows Key + R, typeservices.msc, et appuyez Enter. - Faites défiler vers le bas pour trouver Windows Remote Management (WS-Management).
- Vérifiez son statut. S'il n'est pas en cours d'exécution, cliquez avec le bouton droit de la souris et sélectionnez Start.
- Si elle est déjà en cours d'exécution, cliquez avec le bouton droit de la souris et sélectionnez Restart.
- Double-cliquez sur le service, changez le Startup type Je vous en prie. Automatic, et cliquez OK.
Étape 2: vérification des conflits portuaires (notamment avec l'IIS)
WinRM utilise les ports par défaut 5985 (HTTP) Je ne sais pas. 5986 (HTTPS) Si une autre application (comme IIS) écoute sur ces ports ou si WinRM est accidentellement lié au port 80/443, cela provoquera cette erreur.
- Ouvrez. PowerShell en tant qu'administrateur.
- Exécutez la commande suivante pour voir sur quels ports WinRM écoute:
winrm enumerate winrm/config/listener - Vérifiez que les ports correspondent à 5985 ou 5986. Si vous remarquez un conflit ou si vous devez réinitialiser la configuration rapide, exécutez:
winrm quickconfig - Appuyez dessus. Y pour accepter toute modification de configuration.
Étape 3: Configurer les hôtes de confiance
Si vous vous connectez à une machine distante située en dehors d'un environnement de domaine Active Directory (comme un groupe de travail), votre machine locale doit faire confiance à l'hôte distant.
- Ouvrez. PowerShell en tant qu'administrateur sur votre ordinateur local.
- Exécutez la commande suivante pour autoriser les connexions à tous les hôtes (ou remplacez
*avec l'adresse IP distante spécifique):Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force - Redémarrez le service WinRM pour appliquer les modifications:
Restart-Service winrm
Étape 4: contourner les paramètres du serveur proxy
Parfois, les paramètres de proxy du système local acheminent le trafic WinRM interne vers un serveur proxy externe, qui ne reconnaît pas le trafic WS-Management et renvoie un code d'état HTTP inconnu.
- Ouvrez. Command Prompt en tant qu'administrateur.
- Vérifiez si un proxy est configuré en exécutant:
netsh winhttp show proxy - Si un proxy est actif et route le trafic local, réinitialisez-le en exécutant:
netsh winhttp reset proxy - Alternatively, ensure your environment variables bypass proxies for local addresses by adding the remote machine's IP to your environment's
NO_PROXYLa liste.
Étape 5: Ajustez les paramètres d'authentification
L'erreur peut se déclencher si le client et le serveur ne sont pas d'accord sur la méthode d'authentification (par exemple, Negotiate, Basic, CredSSP).
- Ouvrez. PowerShell en tant qu'administrateur sur les machines client et à distance.
- Activer l' authentification par négociation standard en exécutant:
Set-Item WSMan:\localhost\Service\Auth\Negotiate -Value $true Set-Item WSMan:\localhost\Client\Auth\Negotiate -Value $true - Si votre stratégie de connexion nécessite une authentification de base, activez-la explicitement:
Set-Item WSMan:\localhost\Service\Auth\Basic -Value $true Set-Item WSMan:\localhost\Client\Auth\Basic -Value $true
ERROR_WSMAN_INVALID_BATCH_SETTINGS_PARAMETER | ERROR_WSMAN_SERVER_DESTINATION_LOCALHOST | ERROR_WSMAN_UNSUPPORTED_HTTP_STATUS_REDIRECT | ERROR_WSMAN_HTTP_REQUEST_TOO_LARGE_STATUS | ERROR_WSMAN_HTTP_SERVICE_UNAVAILABLE_STATUS
Il y a peut-être des erreurs.. Learn Microsoft