Powershell 2.0 unter XP installieren und Remoting konfigurieren

    WinRM in Powershell konfigurierenWährend Powershell 2.0 zum Lieferumfang von Windows 7 und Server 2008 R2 gehört, muss man sie in älteren Versionen des Betriebssystems nachträglich installieren und konfigurieren. Die Anpassungen betreffen vor allem die gegenüber PowerShell 1.0 stark erweiterten Remoting-Funktionen, die mit dem Parameter -computer eine Ausführung zahlreicher Cmdlets auf entfernten Rechnern ermöglichen.

    Microsoft bietet Powershell 2.0 für XP, Vista und andere nicht mehr aktuelle Versionen von Windows als Teil des Windows Management Framework an. Wer nur nach Powershell 2.0 sucht, soll sich davon nicht verwirren lassen, dass es dafür keinen eigenständigen Download gibt. Das Paket enthält neben der Shell auch WinRM 2.0 sowie BITS 4.0. Das Kernpaket des Management Frameworks kommt ohne BITS aus. Um es unter Windows XP zu installieren, wird das SP3 sowie das .NET-Framework 2.0 oder höher vorausgesetzt.

    WinRM konfigurieren

    Um die Remote-Management-Fähigkeiten von Powershell 2.0 in Anspruch nehmen zu können, muss man jeden Rechner, der über das Netz verwaltet werden soll, entsprechend konfigurieren. Der erste Schritt besteht darin, dass WinRM eingerichtet wird. Über den Powershell-Befehl

    get-service winrm

    kann man den Status des Dienstes Windows Remote Management erfragen. Sein Starttyp ist per Voreinstellung manuell, so dass er nicht läuft, wenn er noch nicht konfiguriert wurde. Um WinRM für die Nutzung vorzubereiten, führt man in einer Eingabeaufforderung mit administrativen Rechten das Kommando

    winrm quickconfig

    Das Powershell-Cmdlet Enable-PSRemoting erfüllt die gleiche Aufgabe wie winrm quickconfig.aus. Es ändert den Starttyp auf automatisch, erzeugt einen Listener, der auf Anfragen anderer Rechner antwortet, und erstellt für WinRM eine Ausnahme in der Firewall. Es ist übrigens kein Problem, wenn der Dienst bereits konfiguriert ist und dieser Befehl nochmals ausgeführt wird. Er erkennt eine vorhandene Konfiguration und überschreibt keine Einstellungen. Das Powershell-Cmdlet Enable-PSRemoting erfüllt den gleichen Zweck wir winrm quickconfig, kann aber an unkonfigurierten System scheitern und in der Fehlermeldung den Aufruf von winrm empfehlen.

    Remote-PC muss unter Umständen in Liste der Trusted Hosts

    Bevor man eine Remote-Session aufbaut, kann es notwendig sein, das Zielsystem auf dem Quellrechner in die Liste der Trusted Hosts aufzunehmen. Dies ist dann erforderlich, wenn sich die PCs innerhalb einer Workgroup befinden oder in einer Domäne über die IP-Adresse angesprochen werden. Die Aufnahme in diese Liste erfolgt beispielsweise mittels

    winrm set winrm/config/client '@{TrustedHosts="192.168.0.27"}'

    Zu beachten ist dabei, dass sich immer nur die gesamte Liste auf diese Weise schreiben lässt, das Hinzufügen oder das Löschen einzelner Einträge ist nicht möglich. Sollen mehrere Trusted Hosts erlaubt werden, dann kann man ihre Namen oder IP-Adressen mittels Komma voneinander trennen.

    Interaktive Session auf Remote-PC starten

    Um über Powershell schließlich eine interaktive Session auf einem Remote-PC zu starten, verwendet man das Cmdlet

    Enter-PSSession -computer [Computer-Name]

    Wenn die Ausführung des Befehls erfolgreich ist, ändert sich der Powershell-Prompt, indem er den Namen und das aktuelle Verzeichnis des entfernten Rechners darstellt. Alle folgenden Befehle werden nun auf dem Remote-PC ausgeführt.

    Keine Kommentare