Comment réparer "Le client WinRM ne peut pas traiter la demande car il a reçu un paquet d'erreur HTML".
Définition
This error occurs when you try to establish a remote management session using Windows Remote Management (WinRM) or PowerShell Remoting. It indicates that the WinRM client initiated a connection expecting a valid XML-formatted WS-Management response, but the target server, an intermediate proxy, or a local security application returned a standard web page (HTML) instead.
Cela se produit généralement parce que la demande a été interceptée, redirigée ou bloquée.
- Proxy Server Interference: Une configuration de proxy locale achemine le trafic WinRM interne vers Internet ou un serveur proxy qui ne peut pas l'authentifier.
- URL/Port Conflicts: Un autre service Web sur la machine cible (comme IIS, Skype ou Apache) utilise le même port configuré pour WinRM (par défaut 5985 pour HTTP et 5986 pour HTTPS).
- WinRM Service State: Le service WinRM est arrêté, mal configuré ou a des auditeurs corrompus.
- Network Security Software: Les pare-feu, les programmes antivirus ou les clients VPN bloquent ou inspectent le trafic, perturbant le protocole de communication.
Réparations étape par étape
Suivez ces solutions dans l'ordre jusqu'à ce que le problème soit résolu. Vous devez exécuter PowerShell ou l'invite de commande en tant qu'administrateur pour toutes les étapes.
Étape 1: contourner le proxy pour le trafic local
La cause la plus fréquente est que votre système tente d'envoyer du trafic WinRM via un serveur proxy.
- Ouvrez. PowerShell en tant qu'administrateur.
- Vérifiez les paramètres actuels de votre proxy WinRM en exécutant:
netsh winhttp show proxy - Si un serveur proxy est répertorié, vérifiez s'il contourne les adresses locales. Si ce n'est pas le cas, ou si vous voulez tester sans lui, réinitialisez temporairement les paramètres du serveur proxy en exécutant:
netsh winhttp reset proxy - Si vous utilisez des proxies d'options Internet, ouvrez le Run le dialogue (
Win + R), typeinetcpl.cpl, et appuyez Enter. - Allez à la... Connections Ouvrez l' onglet et cliquez dessus. LAN settings.
- Vérifiez la case qui dit "Bypass proxy server for local addresses".
- Cliquez. OK, puis cliquez Apply.
Étape 2: redémarrer et configurer rapidement le service WinRM
La mise à jour des fichiers de service et la vérification des auditeurs peuvent corriger les erreurs de configuration.
- Ouvrez. PowerShell en tant qu'administrateur.
- Redémarrez le service WinRM pour éliminer les pannes temporaires:
Restart-Service WinRM - Exécutez l' outil de configuration automatique pour réparer les écouteurs et les règles du pare-feu:
winrm quickconfig - Appuyez dessus. Y (Oui) si vous êtes invité à apporter des changements ou à créer des auditeurs.
Étape 3: vérification des conflits portuaires
Si une autre application utilise le port 5985, WinRM échouera et renverra des données HTML de cette application en conflit.
- Ouvrez. Command Prompt ou... PowerShell en tant qu'administrateur.
- Vérifiez quel processus écoute le port HTTP WinRM par défaut (5985):
netstat -ano | findstr :5985 - Notez l'identifiant de processus (PID), qui est le numéro situé à l'extrême droite de la ligne de sortie.
- Vérifiez quelle application possède ce PID en exécutant (remplacer
YOUR_PIDavec le nombre réel):tasklist /fi "pid eq YOUR_PID" - Si la demande est autre chose que
Systemou...wsmprovhost.exe, you must stop that conflicting application or change its port configuration.
Étape 4: Ajouter la destination à la liste des hôtes de confiance
Si vous vous connectez à une machine distante en dehors de votre domaine de répertoire actif, votre machine client rejettera la connexion à moins que la cible ne soit explicitement approuvée.
- Ouvrez. PowerShell en tant qu'administrateur.
- Exécutez la commande suivante pour faire confiance à l'ordinateur cible spécifique (remplacer
IP_OR_NAMEavec l'adresse IP ou le nom d'hôte de la machine distante):Set-Item WSMan:\localhost\Client\TrustedHosts -Value "IP_OR_NAME" -ForceRemarque: vous pouvez utiliser ` ` as the value to trust all hosts for testing purposes, though this is not recommended for permanent production use due to security risks.*
- Redémarrez le service WinRM pour appliquer les modifications:
Restart-Service WinRM
Étape 5: Vérifier les paramètres SPN (nom principal du service)
Si vous êtes dans un environnement de domaine, l'authentification Kerberos peut échouer si le SPN est manquant ou dupliqué.
- Ouvrez. Command Prompt en tant qu'administrateur.
- Test if the Service Principal Name is registered correctly for the target computer by running (replace
TARGET_COMPUTER_NAMEavec le nom du serveur que vous essayez de joindre):setspn -L TARGET_COMPUTER_NAME - Cherchez les entrées commençant par
WSMAN/. If they are missing, you may need to register them or contact your network domain administrator to sync the Active Directory objects.
Il y a peut-être des erreurs.. Learn Microsoft