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!


Top-Artikel in diesem Bereich

Preview AD: Active Directory Daten auslesen

AD: Active Directory Daten auslesen

geändert: 11.09.2020 von Bernhard (Erstveröffentlichung: 29.04.2020)

Mit Windows PowerShell Active Directory Objekte auslesen. ... weiterlesen

PowerShell Email versenden: Send-MailMessage

PowerShell Email versenden: Send-MailMessage

erstellt: 05.07.2021 von Bernhard

In PowerShell kann über einen einfachen Befehl eine Email versendet werden: "Send-MailMessage". Mit dem Befehl kann das Versenden von Mails außerhalb der Applikation rein mit PowerShell getestet werden: ... weiterlesen

Preview PowerShell: Dateiattribute: Datum ändern - ganz ohne Tools

PowerShell: Dateiattribute: Datum ändern - ganz ohne Tools

erstellt: 28.06.2020 von Bernhard

Als Alternative zu speziellen Programmen kann auch mit PowerShell das Datum einer Datei oder eines Ordners geändert werden.  ... weiterlesen


Fragen / Kommentare