Correction de l'erreur de demande défectueuse WinRM HTTP 400
Le client WinRM (Windows Remote Management) lance une erreur HTTP 400 Bad Request lorsqu'il tente d'établir une connexion à distance, mais le serveur cible rejette la mise en forme, la taille ou les en-têtes de la demande entrante.
Voici un guide étape par étape pour diagnostiquer et résoudre ce problème.
Étape 1: Exécutez l'outil de configuration rapide WinRM
Le moyen le plus rapide de corriger les auditeurs corrompus ou les problèmes de configuration de service de base est de laisser Windows réparer automatiquement la configuration WinRM.
- Cliquez sur le Start le menu, le type
cmd, cliquez avec le bouton droit. Command Prompt, et sélectionnez Run as administrator. - Tapez la commande suivante et appuyez Enter:
winrm quickconfig - Si vous êtes invité à apporter des modifications ou à configurer les exceptions du pare-feu, tapez
yet appuyez. Enter.
Étape 2: Effacer la liste des hôtes de confiance du client WinRM
Une configuration incorrecte. TrustedHosts La réinitialisation ou la configuration correcte de cette liste peut résoudre la panne de communication.
- Ouvrez. Command Prompt en tant qu'administrateur.
- Pour permettre la communication avec n'importe quel hôte temporairement (pour les tests), exécutez:
winrm set winrm/config/client @{TrustedHosts="*"} - Alternativement, si vous souhaitez le restreindre à votre serveur cible spécifique, remplacez l'astérisque par l'adresse IP ou le nom d'hôte de votre serveur cible:
winrm set winrm/config/client @{TrustedHosts="TARGET_SERVER_NAME"}
Étape 3: recréer les auditeurs HTTP/HTTPS de WinRM
Si les auditeurs par défaut sur la machine distante sont corrompus ou liés à des ports en conflit, les supprimer et les recréer corrige le routage du service Web sous-jacent.
- Ouvrez. Command Prompt En tant qu'administrateur sur le target machine.
- Vérifiez les auditeurs existants en exécutant:
winrm enumerate winrm/config/listener - Supprimer l'écoutant HTTP défectueux:
winrm delete winrm/config/listener?Address=*+Transport=HTTP - Créez un écouteur HTTP propre:
winrm create winrm/config/listener?Address=*+Transport=HTTP - Redémarrez le service WinRM pour appliquer les modifications:
net stop winrm && net start winrm
Étape 4: Ajustez le MaxTokenSize pour l'authentification Kerberos
Si vous vous connectez via un environnement de domaine et que votre compte d'utilisateur appartient à plusieurs groupes Active Directory, votre jeton d'authentification Kerberos pourrait être trop grand. Cela provoque le rejet du paquet par le serveur HTTP WinRM en tant que "mauvaise demande".
- Appuyez dessus.
Win + R, typeregedit, et appuyez Enter pour ouvrir l'éditeur de registre. - Naviguez vers le chemin suivant:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters(Note: si leParametersLa touche n'existe pas, cliquez avec le bouton droit.Kerberos, select New > Key, and name it Parameters). - Cliquez avec le bouton droit.
ParametersTouche, sélectionne. New > DWORD (32-bit) Value. - Nommez la nouvelle valeur
MaxTokenSize. - Double-cliquez.
MaxTokenSizeMettez la base à... Decimal, change the Value data to65535, et cliquez OK. - Redémarrez votre ordinateur pour appliquer les modifications du registre.
Étape 5: Augmentez la taille maximale de l'enveloppe
Parfois, la charge utile de la structure de données transmise via WinRM dépasse la taille de configuration autorisée par défaut, ce qui entraîne une erreur HTTP 400 immédiate.
- Ouvrez. Command Prompt en tant qu'administrateur.
- Exécutez la commande suivante pour augmenter la taille maximale de l'enveloppe à 1500 KB:
winrm set winrm/config @{MaxEnvelopeSizekb="1500"} - Testez à nouveau votre connexion à distance pour voir si la restriction de charge utile est à l'origine du problème.
Il y a peut-être des erreurs.. Learn Microsoft