È possibile configurare l'host di WinRM per abilitare la comunicazione con il plug-in PowerShell tramite il protocollo HTTP.
È necessario modificare la configurazione di WinRM eseguendo comandi nella macchina host di WinRM. È possibile utilizzare la stessa macchina come servizio WinRM e come client WinRM.
Importante: Se si ignora uno qualsiasi dei passaggi durante la configurazione di WinRM per l'utilizzo del protocollo HTTP, è possibile che l'host non venga aggiunto e che nei registri venga visualizzato un messaggio di errore come quello seguente
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)
Procedura
- Eseguire il comando seguente per impostare i valori di configurazione di WinRM predefiniti.
c:\> winrm quickconfig
- (Facoltativo) Eseguire il comando seguente per verificare che il listener sia in esecuzione e verificare le porte predefinite.
c:\> winrm e winrm/config/listener
Le porte predefinite sono 5985 per HTTP e 5986 per HTTPS.
- Abilitare l'autenticazione di base nel servizio WinRM.
- Eseguire il comando seguente per verificare se l'autenticazione di base è consentita.
c:\> winrm get winrm/config/service
- Eseguire il comando seguente per abilitare l'autenticazione di base.
c:\> winrm set winrm/config/service/auth @{Basic="true"}
- Eseguire il comando seguente per consentire il trasferimento dei dati non crittografati al servizio WinRM.
c:\> winrm set winrm/config/service @{AllowUnencrypted="true"}
- Se il livello di protezione avanzata del token di binding del canale del servizio WinRM è impostato su strict, modificare il valore specificando relaxed.
c:\> winrm set winrm/config/service/auth @{CbtHardeningLevel="relaxed"}
- Abilitare l'autenticazione di base nel client WinRM.
- Eseguire il comando seguente per verificare se l'autenticazione di base è consentita.
c:\> winrm get winrm/config/client
- Eseguire il comando seguente per abilitare l'autenticazione di base.
c:\> winrm set winrm/config/client/auth @{Basic="true"}
- Eseguire il comando seguente per consentire il trasferimento dei dati non crittografati al client WinRM.
c:\> winrm set winrm/config/client @{AllowUnencrypted="true"}
- Se la macchina host di WinRM si trova in un dominio esterno, eseguire il comando seguente per specificare gli host attendibili.
c:\> winrm set winrm/config/client @{TrustedHosts="host1, host2, host3"}
- Eseguire il comando seguente per provare la connessione al servizio WinRM.
c:\> winrm identify -r:http://winrm_server:5985 -auth:basic -u:user_name -p:password -encoding:utf-8