PowerShell Remotezugriff einrichten / prüfen
Damit Sie mit PowerShell über Remote mit einem System verbinden können, sind folgende Voraussetzungen notwendig:
- WinRM Dienst läuft und wird automatisch gestartet
- PS Remoting ist aktiv
- Firewall Port 5985 für Eingehende Regel TCP freigeben
- Trustethosts einrichten (für Systeme ohne / außerhalb einer Domänen)
WinRM Dienst
Starten Sie den WinRM Dienst auf dem Remotesystem und definieren den autostart auf automatisch
PS Remote aktivieren
Starten Sie PowerShell als Administrator auf dem Remotesystem aus und führen Sie den folgenden Befehl für die Aktivierung von PowerShell Remote aus
Enable-PSRemoting
Grund- / Defaultkonfiguration WinRM
Starten Sie PowerShell oder die Kommandozeile als Administrator auf dem Remotesystem aus und führen Sie den folgenden Befehl aus
winrm quickconfig
Trustethosts
Wenn Sie eine Remoteverbindung in keinem Domänenverbund ausführen möchten (Arbeitsgruppe), müssen Sie auf dem lokalen System das Remotesystem als Trustethost hinterlegen.
Starten Sie PowerShell oder die Kommandozeile als Administrator auf dem lokalen System und führen den folgenden Befehl aus, wobei Sie Full qualified name für Ihre Remotesysteme verwenden
winrm s winrm/config/client '@{TrustedHosts="FullyQualifiedNameSystem1,FullyQualifiedNameSystem2"}'
Verbindungstest
Führen Sie den folgenden Befehl aus um zu testen ob grundsätzlich eine Kommunikation zwischen den lokalen und dem Remotesystem möglich ist.
Starten Sie PowerShell als Administrator auf dem lokalen System und führen den folgenden Befehl aus, wobei Sie Ihren Full qualified name des Remotesystems hinterlegen
Test-NetConnection "FullyQualifiedNameRemoteSystem"
Wenn dieser Test erfolgreich ist, dann testen Sie im Anschluss über den folgenden Befehl WSMAN.
Auch hier geben Sie Ihren Full qualified name des Remotesystems an.test-wsman -computername "FullyQualifiedNameRemoteSystem" -authentication default
Verläuft dieser Test auch erfolgreich, so können Sie eine Verbindung über PowerShell zum Remotesystem aufbauen.
Zum testen können Sie das folgende PowerShell Skript für die Ausgabe des Datums des Remotesystems verwenden. Geben sie Ihren Usernamen, Passwort und Systemname des Remotesystems an.$AdminUserName = "Domäne/Arbeitsgruppe\UserName" $pass = ConvertTo-SecureString -AsPlainText "Passwort" -Force $Machine = "FullyQualifiedNameRemoteSystem" $credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminUserName,$pass Invoke-Command -ComputerName $Machine -credential $credential -ScriptBlock {get-date -Format yyyyMMddTHHmmss}
Konfiguration auslesen
Über die folgende Befehle können Sie die Konfiguration auslesen, z.B. welcher Port wird verwendet, welche Authentifizierung, ….
Starten Sie PowerShell oder die Kommandozeile auf dem Remotesystem als Administrator und führen den folgenden Befehl für die anzeige gesamten WINRM Konfiguration aus.
winrm get winrm/configSie können wie in den folgenden Beispielen einzelne Bereiche anzeigen lassen.
winrm get winrm/config/client/auth winrm get winrm/config/service/auth winrm get winrm/config/service winrm get winrm/config/winrs
Konfiguration anpassen
Für die Anpassung der Konfiguration sehen Sie die folgenden Beispiele für Anpassung des Ports bzw. Authentifizierung.
winrm set winrm/config/client/DefaultPorts '@{HTTP="5985"}' winrm set winrm/config/client/auth '@{Basic="true"}' winrm set winrm/config/service/DefaultPorts '@{HTTP="5985"}' winrm set winrm/config/service/auth '@{Basic="true"}'
Hilfe
Für die Hilfe geben Sie den Befehl ein
winrm
Ein Kommentar
Pingback: