Vous pouvez configurer l'hôte WinRM pour permettre la communication avec le plug-in PowerShell via le protocole HTTP.
Pour modifier la configuration de WinRM, vous devez exécuter des commandes sur la machine hôte WinRM. Vous pouvez utiliser la même machine que le service et le client WinRM.
Important : Si vous ignorez l'une des étapes lors de la configuration de WinRM pour utiliser le protocole HTTP, l'hôte ne sera peut-être pas ajouté et un message d'erreur comme le suivant risque d'apparaître dans les journaux :
Caused by: org.dom4j.DocumentException: Error on line -1 of document : Premature end of file.
Nested exception: Premature end of file.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:278)
at com.xebialabs.overthere.cifs.winrm.connector.JdkHttpConnector.sendMessage(JdkHttpConnector.java:117)
Procédure
- Exécutez la commande suivante pour définir les valeurs de configuration de WinRM par défaut.
c:\> winrm quickconfig
- (Facultatif) Exécutez la commande suivante pour vérifier si un écouteur est en cours d'exécution et vérifiez les ports par défaut.
c:\> winrm e winrm/config/listener
Les ports par défaut sont 5985 pour HTTP et 5986 pour HTTPS.
- Activez l'authentification de base sur le service WinRM.
- Exécutez la commande suivante pour vérifier si l'authentification de base est autorisée.
c:\> winrm get winrm/config/service
- Exécutez la commande suivante pour activer l'authentification de base.
c:\> winrm set winrm/config/service/auth @{Basic="true"}
- Exécutez la commande suivante pour autoriser le transfert de données non chiffrées sur le service WinRM.
c:\> winrm set winrm/config/service @{AllowUnencrypted="true"}
- Si le niveau de sécurisation du jeton de liaison de canal au niveau du service WinRM est défini sur « strict » (strict), changez sa valeur en « relaxed » (souple).
c:\> winrm set winrm/config/service/auth @{CbtHardeningLevel="relaxed"}
- Activez l'authentification de base sur le client WinRM.
- Exécutez la commande suivante pour vérifier si l'authentification de base est autorisée.
c:\> winrm get winrm/config/client
- Exécutez la commande suivante pour activer l'authentification de base.
c:\> winrm set winrm/config/client/auth @{Basic="true"}
- Exécutez la commande suivante pour autoriser le transfert de données non chiffrées sur le client WinRM.
c:\> winrm set winrm/config/client @{AllowUnencrypted="true"}
- Si la machine hôte WinRM se trouve dans un domaine externe, exécutez la commande suivante pour spécifier les hôtes approuvés.
c:\> winrm set winrm/config/client @{TrustedHosts="host1, host2, host3"}
- Exécutez la commande suivante pour tester la connexion au service WinRM.
c:\> winrm identify -r:http://winrm_server:5985 -auth:basic -u:nom_utilisateur -p:mot_de_passe -encoding:utf-8