Anbieter zum Thema
Remote-Powershell aktivieren und Verbindungsprobleme beheben
Damit sich ein Server in der PowerShell remote verwalten lässt, muss die Funktion auf dem Ziel-Server erst aktivieren werden. Dazu geben Administratoren in einer PowerShell-Sitzung auf dem Ziel-Server den Befehl „Enable-PSRemoting -force“ ein. Der Befehl richtet die entsprechenden Ausnahmen in der Firewall ein und aktiviert die notwendigen Funktionen. Rückgängig machen lässt sich der Vorgang mit „Disable-PSRemoting –force“ (siehe Abbildung 5).
Verbinden sich Administratoren von einem anderen Server oder von einer Arbeitsstation mit Active Directory oder mit Verwaltungstools für Serverdienste, wie der Exchange-Verwaltungskonsole, verwendet die Konsole immer eine Remote-PowerShell-Sitzung für die Verwaltung. Alle Befehle werden als CMDlet übertragen, die grafische Oberfläche ist in vielen Fällen nur ein Hilfsmittel.
Die Verbindung verwendet den IIS auf dem Ziel-Server für die Verbindung, und die PowerShell-Befehle verwenden das HTTP-Protokoll. Damit die Verbindung über das Netzwerk funktioniert, verwendet der IIS die Funktionen Windows Remote Management (WinRM) und Web Services for Management (WSMan). Durch die Remote-PowerShellsitzung über den IIS überträgt der Client seine Befehle an den Server.
Sollte die Verbindung nicht funktionieren, geben Administratoren in der Befehlszeile den Befehl „WinRM enumerate winrm/config/listener“ ein. Ein Listener mit dem Port 5985 muss aktiv und auf alle IP-Adressen des Servers gebunden sein (siehe Abbildung 6). Selbstverständlich darf der Port nicht durch eine Firewall blockiert werden. Standardmäßig schaltet Windows Server 2008 R2 den Port in der Windows-Firewall frei. Setzen Unternehmen eine weitere Firewall zwischen Client und Server ein, müssen Administratoren diesen Port durchlassen.
Innerhalb einer Active Directory-Gesamtstruktur sind keine Maßnahmen notwendig. Damit der Zugriff auch über Domänengrenzen hinweg funktioniert, oder von einer Arbeitsgruppe zu einer Domäne, müssen Administratoren auf dem Zielserver noch die Computer eintragen, die auf den Server zugreifen dürfen. Dazu verwendet man den Befehl „winrm set winrm/config/client @{TrustedHosts="<Alle Quellcomputer, durch Komma getrennt>"}“.
CMDlets für die Remoteverwaltung und Abrufen der Hilfe
Nicht alle CMDlets eignen sich für eine Remoteverwaltung von Servern. Administratoren können vor allem die CMDlets nutzen, welche über die Option -ComputerName verfügen. Um sich alle CMDlets anzeigen zu lassen, die diese Option unterstützen, also Server auch über das Netzwerk verwalten können, hilft der Befehl Get-Help * -Parameter ComputerName (siehe Abbildung 7). Wollen Administratoren Hilfe erhalten, bietet das Get-Help-CMDlet noch die Möglichkeit ausführliche Hilfen und Beispiele anzuzeigen, zum Beispiel mit den Optionen -Examples, -Detailed und -Full.
Generell ist der Umgang mit der PowerShell nicht sehr kompliziert. Geben Administratoren get-command ein, sehen sie alle Befehle, welche die Shell zur Verfügung stellt. Die PowerShell bietet zudem eine ausführliche Hilfe an. Haben Administratoren nur den Teil eines Befehls in Erinnerung, können sie mit dem Platzhalter * arbeiten. Der Befehl get-command *user, zeigt zum Beispiel alle CMDlets an, deren Namen mit user endet. Ist der gesuchte Befehl nicht dabei, können auch mehrere Platzhalter verwendet werden, zum Beispiel: get-command *user*. Dieser Befehl zeigt alle Befehle an, in denen das Wort "user" irgendwo vorkommt.
Wurde das gewünschte CMDlet gefunden, unterstützt die PowerShell mit weiteren Möglichkeiten. Für nahezu alle CMDlets gilt die Regel dass diese in vier Arten vorliegen: Es gibt CMDlets mit dem Präfix new- um etwas zu erstellen, zum Beispiel new-aduser. Das gleiche CMDlet gibt es dann immer noch mit remove- um etwas zu löschen, zum Beispiel remove-aduser. Wollen Administratoren das Objekt anpassen, gibt es das Präfix set- zum Beispiel set-aduser. Als Letztes gibt es noch das CMDlet get- zum Beispiel get-aduser um Informationen zum Objekt abzurufen.
Neben dieses CMDlets gibt es natürlich noch viele andere, zum Beispiel start- und stop-CMDlets, oder export und import. Geben Administratoren nur diesen Befehl ein, passiert entweder überhaupt nichts, das CMDlet zeigt alle Objekte an, oder Administratoren werden nach der Identität des Objektes gefragt. So zeigt das CMDlet get-aduser -filter * alle Benutzer der Organisation an.
Mit dem Befehl help <CMDlet> erhalten Administratoren eine Hilfe zum entsprechenden CMDlet, zum Beispiel help new-aduser. Für viele CMDlets gibt es noch die Option help <CMDlet> -detailed. Dieser Befehl bietet noch mehr Informationen.
Mit dem Befehl help <CMDlet> -examples lassen sich Beispiele für den Befehl anzeigen. Auch das funktioniert für alle Befehle in der PowerShell. Mit get-CMDlets lassen Sie sich Informationen zu Objekten anzeigen. Die Option |fl formatiert die Ausgabe. Wollen Administratoren aber nicht alle Informationen, sondern nur einzelne Parameter anzeigen, können sie diese nach der Option |fl anordnen. Soll zum Beispiel bei Benutzern nur der DistinguishedName und der Status angezeigt werden, kann man den Befehl „get-aduser -filter * |fl DistinguishedName, Enabled“ verwenden. Groß- und Kleinschreibung spielen für die CMDlets keine Rolle.
(ID:33604600)