Die PowerShell verfügt über zahlreiche Cmdlets, mit denen sich Computer, Dienste und Serveranwendungen über das Netzwerk steuern lassen. PowerShell Remoting ist daher ein wichtiges Einsatzgebiet der PowerShell. Wir zeigen einige Beispiele.
Mit der PowerShell können nicht nur einzelne Computer sondern auch ganze Client- oder Dienstgruppen im Netzwerk gesteuert werden – eine immense Erleichterung für Admins.
PowerShell-Cmdlets können nicht nur einzelne Computer lokal oder remote im Netzwerk ansprechen, sondern auch mehrere Endpunkte gleichzeitig. Es ist möglich, hunderte Computer im Netzwerk gemeinsam anzusprechen und zu steuern. Dazu werden die Computer zum Beispiel in einer Variablen gespeichert und danach dem entsprechenden PowerShell-Cmdlet übergeben. Das Cmdlet baut dann eine Verbindung zu jedem Computer im Netzwerk auf und führt den gewünschten Befehl aus.
Für das PowerShell Remoting können verschiedene Techniken zum Einsatz kommen. Eine Möglichkeit ist, die komplette Sitzungen einer PowerShell remote zu öffnen. Dadurch werden alle Befehle in der PowerShell-Sitzung nicht auf dem lokalen Computer, sondern auf dem Remote-Computer ausgeführt.
Im Windows Admin Center lassen sich im Browser ebenfalls PowerShell-Sitzungen auf Remote-Computern öffnen, auch dabei handelt es sich um eine Remote-Steuerung mit der PowerShell.
Die verschiedenen Remote-Verbindungen der PowerShell
Mit der PowerShell können verschiedene Technologien genutzt werden, um remote Verbindungen aufzubauen. neben WMI stehen auch WS-Management und SSH-Remoting zur Verfügung. Ab PowerShell 7.x lässt sich auch RPC zwischen Windows-Computern nutzen.
Zum Einsatz kommt PowerShell Remoting zum Beispiel, wenn der Parameter „-Computername“ für ein Cmdlet verfügbar ist. Bei Auswahl des Parameters können Admins entweder einen Computernamen angeben, oder eine Variable übergeben, in der mehrere Computernamen gespeichert sind. Wichtige Cmdlets für Admins in diesem Bereich sind:
Restart-Computer
Test-Connection
Clear-EventLog
Get-EventLog
Get-HotFix
Get-Process
Get-Service
Set-Service
Get-WinEvent
Get-WmiObject
Mit diesen Cmdlets können Computer über das Netzwerk angesprochen und Anpassungen vorgenommen werden. Einfach ausgedrückt laufen diese Cmdlets lokal und führen bei Anforderung Aufgaben auf dem Remote-Computer aus.
Besonders interessant sind an dieser Stelle die Cmdlets Get-Service, Set-Service und Get-Process, weil sich mit diesen Cmdlets Dienste und Prozesse über das Netzwerk verwalten lassen. Auch Get-Eventlog ist ein wichtiges Cmdlet, weil dadurch auch die Ereignisanzeige über das Netzwerk ausgelesen werden kann. Um sich zum Beispiel alle laufenden Dienste auf einem Remote-Computer anzeigen zu lassen, kann der folgende Befehl genutzt werden:
Wenn der Parameter für Cmdlets in der PowerShell 7.3.x nicht funktioniert, kann der gleiche Befehl alternativ in der klassischen PowerShell genutzt werden. Der Parameter „-ComputerName“ akzeptiert auch die Eingabe mehrerer Werte, zum Beispiel:
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
Remotebefehle in der PowerShell ausführen
Parallel zu Cmdlets, die mit dem Parameter „-Computername“ gestartet werden, lassen sich Befehle remote auf einem Computer auch mit dem Cmdlet „Invoke-Command“ ausführen. Dieses Cmdlet ist sinnvoll, wenn das auszuführende Cmdlet den Parameter „-Computername“ nicht unterstützt. Die einzelnen Befehle werden dann im Parameter „-Scriptblock“ angebeben, zum Beispiel mit:
Mit Invoke-Command lassen sich nicht nur einzelne Cmdlets remote ausführen, sondern auch komplette Skripte starten. Dazu muss das Skript entweder auf einer Freigabe im Netzwerk oder auf dem lokalen Computer, der das Skript auf den Remote-Computern ausführt, gespeichert sein:
In der PowerShell kann darüber hinaus mit „Enter-PSSession“ eine Remote-Verbindung zu einem Computer geöffnet werden. Alle Befehle, die in dieser Sitzung ausgeführt werden, laufen auf dem Remote-Computer. Die Befehle werden abgebrochen, wenn die Remote-Sitzung beendet wird. Beenden lassen sich Sitzungen mit „Exit-PSSession“.
Sitzungen können aber auch gestartet bleiben. Mit den beiden Cmdlets "Connect-PSSession" und "Disconnect-PSSession" lassen sich bestehende Verbindungen öffnen und schließen. Um eine Remotesitzung aufzubauen, verwenden Sie das Cmdlet "New-PSSession". Es ist an dieser Stelle auch möglich, mehrere Sitzungen aufzubauen und diese in einer Variablen zu speichern, zum Beispiel mit:
PowerShell-Cmdlets können die in der Variablen gespeicherten Sitzungen aufbauen und Befehle in den Sitzungen ausführen. Geben diese Befehle Ergebnisse aus, lassen sich auch diese in einer Variablen speichern, zum Beispiel:
Invoke-Command -Session $s {$h = Get-HotFix}
PowerShell Direct mit Hyper-V
Mit PowerShell Direct ist es möglich, auf einem Hyper-V-Host PowerShell-Cmdlets zu nutzen, die der Host innerhalb von VMs ausführt. Dadurch lassen sich auf einem Host verschiedene Aufgaben umfassend für die einzelnen VMs mit der PowerShell steuern. Seit Windows Server 2016 können Administratoren daher von einer PowerShell-Sitzung auf dem Host Verwaltungsaufgaben auf den VMs durchführen. Um eine Sitzung zu starten, wird in der PowerShell-Sitzung auf dem Host einer der folgenden Befehle eingeben:
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Enter-PSSession -VMName <Name der VM im Hyper-V-Manager>Invoke-Command -VMName <Name der VM im Hyper-V-Manager> -ScriptBlock { Commands }
Windows Admin Center und die PowerShell
Nach der Verbindung eines Servers im Windows Admin Center, steht für jeden Computer der Menüpunkt „PowerShell“ zur Verfügung. Hierüber öffnet sich eine Remote-Sitzung auf dem Server, ähnlich wie bei „New-PSSession“ oder „Enter-PSSession“. Nach der Authentifizierung wird jeder Befehl in der Remote-PowerShell-Sitzung auf dem entsprechenden Server ausgeführt. Wenn die Sitzung im Windows Admin Center getrennt wird, löscht sie der Server. Das gilt auch für gespeicherte Variablen und andere Daten.