Powershell Remote

 

Mittels Powershell Remoting können Powershellbefehle auf einem anderen Computer ausgeführt werden, ähnlich PSEXEC (siehe Remote Befehle ausführen mit psexec pstools ) oder SSH in Linux

Powershell Remoting einschalten

Rechner die über PowerShell, Befehle von einem anderen Computer annehmen, müssen dafür konfiguriert werden.

Im Detail wird der WinRM Dienst für die Verbindung verwendet, dieser ist standardmäßig gestoppt:

Für das Starten des Dienstes und das Anpassen notwendiger Firewall-regeln muss am Zielcomputer folgender Befehl in der PowerShell eingegeben werden:

Enable-PSRemoting -Force

 

Fehler Firewallregel: öffentlich

Sollte die Windows Firewall auf "Öffentliches Profil" stehen, funktioniert die Einstellung nicht:

Damit die Einstellung klappt, muss ein anderes Firewallprofil als "Öffentliches Profil" aktiviert werden. Für Heimrechner sollte Private Netzwerke verwendet werden. Dazu mittels get-netconnectionprofile das aktuelle Profil anzeigen und "InterfaceIndex" merken. Dann mittels set-netconnectionprofile und dem InterfaceIndex auf "Private" stellen:

Für Domänencomputer ist die Einrichtung abgeschlossen, für Computer die sich nicht in einer Domäne befinden (Arbeitsgruppe: Heimcomputer) müssen noch folgende zusätzliche Einstellungen getroffen werden. Siehe auch: Windows Firewall Profil ändern

Heimcomputer - Arbeitsgruppe

In einer Arbeitsgruppe muss PSRemoting auch auf dem Quellcomputer aktiviert werden: Enable-PSRemoting -Force

Im Anschluß müssen sich die beiden Computer noch vertrauen:

 

Trustedhosts, Zielcomputer alle Computer erlauben:

PS C:\WINDOWS\system32> Set-Item wsman:\localhost\client\trustedhosts DESKTOP-target
WinRM-Sicherheitskonfiguration.
Mit diesem Befehl ändern Sie die TrustedHosts-Liste für den WinRM-Client. Die Computer in der TrustedHosts-Liste können
 möglicherweise nicht authentifiziert werden. Der Client sendet möglicherweise Anmeldeinformationen an diese Computer.
Möchten Sie diese Liste wirklich ändern?
[J] Ja [N] Nein [H] Anhalten [?] Hilfe (Standard ist "J"): j

anstelle von * können hier auch IP-Adressen oder Hostnamen verwendet werden. (zum Beispiel: Set-Item wsman:\localhost\client\trustedhosts "DESKTOP-target,192.168.0.3,Host2")

Quellcomputer: nur für Zielcomputer:

 

TrustedHosts anzeigen: 

 

siehe auch: http://www.howtogeek.com/117192/how-to-run-powershell-commands-on-remote-computers/

Zugriff auf einen fremden Computer

enter-pssession -computername "ComputerName"

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare