2003907

Windows-Rechner mit PowerShell-Remoting verwalten

18.01.2015 | 09:07 Uhr |

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.

In der PowerShell ISE können Sie PowerShell-Sitzungen schnell und einfach auf einem Remotecomputer ausführen
Vergrößern In der PowerShell ISE können Sie PowerShell-Sitzungen schnell und einfach auf einem Remotecomputer ausführen

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.

Sie können über das Netzwerk auch Programme auf Rechnern starten. Das geht auch dann, wenn der Quell-Computer kein Mitglied der Domäne ist
Vergrößern Sie können über das Netzwerk auch Programme auf Rechnern starten. Das geht auch dann, wenn der Quell-Computer kein Mitglied der Domäne ist

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

Mit PowerShell Web Access können verschiedene Arten von Geräten auf die PowerShell zugreifen, auch Smartphones und Tablets
Vergrößern Mit PowerShell Web Access können verschiedene Arten von Geräten auf die PowerShell zugreifen, auch Smartphones und Tablets

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.
 

Sie können in der Befehlszeile und in der PowerShell den Netzwerkzugriff über die PowerShell überprüfen und starten
Vergrößern Sie können in der Befehlszeile und in der PowerShell den Netzwerkzugriff über die PowerShell überprüfen und starten

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 testen Sie auf Wunsch den Zugriff auf einen Server über das Netzwerk
Vergrößern In der PowerShell testen Sie auf Wunsch den Zugriff auf einen Server über das Netzwerk

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 .

In der PowerShell können Sie Sitzungen zu anderen Computern im Netzwerk aufbauen und dort Befehle ausführen
Vergrößern In der PowerShell können Sie Sitzungen zu anderen Computern im Netzwerk aufbauen und dort Befehle ausführen
0 Kommentare zu diesem Artikel
2003907