Può capitare che all’occorrenza di eseguire comandi remoti con la Powershell di Windows, si verifichino alcuni errori che rendono impossibile la connessione con il nostro host remoto. Questi errori accadono a causa delle impostazioni di sicurezza imposte al nostro client/server di default.
Per ovviare a questo problema bisogna eseguire alcuni comandi. Scopriamo assieme quali comandi lanciare per configurare WinRM di Windows.
Contenuti dell'articolo
Configurare WinRM ed abilitare comandi remoti
Darò per scontato che il tuo client/server abbia un sistema operativo aggiornato almeno a Windows 7, che quindi includa il WinRM 2.0.
Innanzi tutto dobbiamo verificare che WinRM sia abilitato sul sistema operativo, segui questi passi:
- Avvia la Powershell come amministratore, facendo clic col tasto destro e scegliendo “avvia come amministratore”.
- Di default l’avvio di WinRM è impostato su manuale e necessita di essere avviato. Si può verificare lo stato del servizio digitando il comando get-service winrm. Il valore che ti dovrebbe ritornare il comando dovrebbe essere “Running”.
- Ora è giunto il momento di abilitare la tua Powershell ad eseguire comandi remoti, digitando il seguente comando:
Enable-PSRemoting –force
Configurare WinRM e comandi remoti fra Trused Hosts
Molte volte capita di dover lanciare comandi remoti tra domini differenti, nel caso questo accada bisogna assicurarsi che gli hosts, siano inseriti nella lista dei “Trusted Hosts” in WinRM, perché se non lo fossero le credenziali di accesso al computer remoto non verranno accettate, quindi ti verrà sempre mostrato un errore con indicata l’impossibilità di autenticarti.
Per ovviare a questo problema, devi accedere alla powershell con i diritti di amministratore ed eseguire:
-
winrm s winrm/config/client '@{TrustedHosts="ComputerRemoto"}'
Dove “ComputerRemoto” sarà il nome del vostro computer remoto.
Rendere tutti gli host “trusted”
Se vuoi che tutti gli host remoti si possano connettere liberamente ANCHE SE ALTAMENTE SCONSIGLIATO, devi eseguire questo comando
-
Set-Item WSman:localhostclientTrustedHosts -value "*" -Force
Dove il carattere “*” indica tutti gli host.