Windows-PCs und Windows-Server lassen sich über das Netzwerk effizient verwalten. Mit PowerShell-Remoting. Wir stellen dieses mächtige Werkzeug für Administratoren und Windows-Profis vor.

Mit der PowerShell können Sie nicht nur lokale Einstellungen auf dem Windows-PC vornehmen und Befehle ausführen, sondern auch Befehle über das Netzwerk schicken. In diesem Beitrag geben wir Ihnen einige Tipps zu diesem Thema.
Drei Möglichkeiten für den Netzwerkzugriff mit der PowerShell
Sie haben mehrere Möglichkeiten PowerShell-Befehle über das Netzwerk auszuführen.
Zunächst können Sie sich über die PowerShell oder die PowerShell ISE normale CMDlets mit der Option -c omputername ausführen. In diesem Fall wird die lokale PowerShell-Sitzung verwendet, aber die PowerShell sendet den Befehl über das Netzwerk auf den Ziel-Server. Mit dem Befehl Get-Help * -Parameter ComputerName lässt Sie sich eine Liste aller dieser Cmdlets anzeigen.
Die zweite Möglichkeit besteht darin, dass Sie in der PowerShell oder der PowerShell ISE direkt eine PowerShell-Sitzung auf dem Remoteserver öffnen. Alle Befehle, die Sie in dieser Sitzung ausführen, werden dann auf dem Remotecomputer ausgeführt. Hier ist dann die Option -computername nicht notwendig, da die Sitzung ohnehin auf dem Remotecomputer ausgeführt wird.
Wollen Sie von einer lokalen PowerShell-Sitzung über das Netzwerk Programme auf einem Remotecomputer starten, verwenden Sie folgenden Befehl:
Invoke-Command -ComputerName <Ziel-Computer> -ScriptBlock { <Befehl> } -credential <Benutzername>
Funktioniert der Befehl, öffnet sich ein Authentifizierungsfenster und Sie müssen das Kennwort für den Benutzer eingeben.
Die dritte Möglichkeit besteht darin, dass Sie PowerShell Web Access auf einem Server installieren. Verbinden sich Anwender mit der Weboberfläche, können sie auswählen, mit welchem Server sie sich remote über die PowerShell verbinden wollen. Der Vorteil bei dieser Methode ist, dass auch die PowerShell-Sitzung selbst auf dem Remoteserver läuft. Auf diesem Weg können auch Geräte die PowerShell nutzen, die ansonsten nicht kompatibel mit dieser sind. Alles was gebraucht wird, ist ein Webbrowser.
Daher können Sie PowerShell Web Access auch mit Tablets, Smartphones, Mac-Rechnern und von Linux-Maschinen aus verwenden. Wie Sie PowerShell Web Access einrichten und verwenden,
lesen Sie in diesem Beitrag.
So geht’s: Powershell Web Access einrichten
PowerShell über das Netzwerk nutzen
Damit Sie PowerShell-Befehle über das Netzwerk auf einem Ziel-Computer ausführen können, müssen Sie auf dem Zielcomputer die Remoteverwaltung aktivieren. Geben Sie dazu
winrm quickconfig
in der Befehlszeile ein. In der PowerShell testen Sie die Netzwerkverfügbarkeit mit dem CMDlet
Get-Service WinRM
. Der Dienst muss gestartet sein, damit der Rechner über das Netzwerk mit der PowerShell erreichbar ist.
Mit
Enable-PSRemoting -force
in der PowerShell stellen Sie sicher, dass der Netzwerk-Zugriff auf den Server in jedem Fall auch für die PowerShell funktioniert, denn
winrm quickconfig
legt zwar die generelle Remoteverwaltung fest, aber nicht speziell für die PowerShell. Der Befehl aktiviert auch die Ausnahmen in der Windows-Firewall. Mit
Disable-PSRemoting -Force
deaktivieren Sie die Remoteverwaltung wieder. Um den Port für die Verbindung zu überprüfen, verwenden Sie den Befehl
winrm enumerate winrm/config/listener
. Der Listener verwendet den Port 5985. Sie können auf dem Zielcomputer auch eine Liste von Computern pflegen die Zugriff auf Remote-PowerShell-Sitzungen haben. Dazu verwenden Sie den Befehl:
winrm set winrm/config/client @{TrustedHosts="<Alle Quellcomputer, durch Komma getrennt>"}
Alternativ verwenden Sie den Befehl:
Set-Item wsman:\localhost\client\trustedhosts <Name der Computer>
Verwenden Sie den Platzhalter * dürfen alle Computer auf diesen Host zugreifen. Allerdings ist das in Active Directory-Umgebungen nicht notwendig. Sie müssen den Befehl immer auf dem Quell- und dem Ziel-Computer ausführen. Sinnvoll kann diese Konfiguration aber sein, wenn Sie von Rechnern aus, die kein Mitglied der Domäne sind, über die PowerShell auf Server zugreifen wollen, die Mitglied der Domäne sind. Sie können neben Computernamen auch mit IP-Adressen arbeiten. Funktioniert der Zugriff nach der Konfiguration noch nicht, starten Sie auf beiden Servern den WinRM-Dienst neu. Verwenden Sie dazu
Restart-Service WinRM
.
Mit dem CMDlet
Test-WsMan <Computername>
testen Sie den Zugriff. Erhalten Sie keine Fehlermeldung, sondern eine Statusanzeige, funktioniert der Zugriff vom Quell-Computer auf den Ziel-Computer.
In der PowerShell ISE öffnen Sie Remote-Sitzungen am einfachsten. Dazu rufen Sie
Datei\Neue Remote-PowerShell-Registerkarte
auf, geben den Servernamen ein und die Anmeldedaten für den Server. Alle Befehle, die Sie in dieser Sitzung ausführen, werden auf dem Remotecomputer gestartet.
Um eine Remotesitzung in der normalen PowerShell zu erstellen, geben Sie das
Cmdlet New-PSSession
ein. Mit
Enter-PSSession <Servername>
bauen Sie eine Verbindung auf. Wollen Sie sich mit einem anderen Benutzer authentifizieren, verwenden Sie
Enter-PSSession -ComputerName <Computer> -Credential <Benutzer>
.
Mit
Exit-Session
beenden Sie diese Sitzung wieder. Sie können in Windows Server 2012 R2 und Windows 8.1 auch Sitzungen unterbrechen und erneut aufzubauen. Bei unterbrochenen Sitzungen laufen die Cmdlets in der Sitzung weiter. Dazu nutzen Sie die Cmdlets
Disconnect-PSSession
,
Connect-PSSession
und
Receive-PSSession
.