Windows-PowerShell

Windows-PowerShell heißt die neue Verwaltungsschnittstelle für Administratoren. Sie basiert auf dem Microsoft .NET Framework 2.0 RTM. Der Artikel gibt einen ersten Überblick über die Funktionalität dieser zunächst unter dem Codenamen Nomad entwickelten Umgebung.

Die Frage nach dem Nutzen einer neuen zeichenorientierten Shell ist durchaus berechtigt. Während bei Windows praktisch ausschließlich mit der funktional doch etwas limitierten cmd.exe gearbeitet wird, gibt es im UNIX- und Linux-Umfeld historisch eine Reihe von Shells mit unterschiedlichen Funktionen.

Im Gegensatz zu den traditionellen Ansätzen für Shells arbeitet die PowerShell mit einem Objektmodell auf Basis des Microsoft .NET Framework 2.0. Dieses muss auch installiert sein, um die Windows PowerShell einrichten zu können. Auch eine sehr viel größere Zahl von Standardbefehlen, die direkt genutzt werden können, findet sich in der Shell. Außerdem gibt es nun einen Parser für alle Befehle, während ansonsten die Verarbeitung von Parametern pro Befehl über einen eigenen Parser erfolgt.

In der PowerShell wird intensiv mit cmdlets gearbeitet, also kleinen funktionalen Einheiten für die Abbildung von Befehlen. Eine neue Skriptsprache, die in der Shell verwendet werden kann, mführt zu einem höheren Lernaufwand, was nicht ganz unproblematisch ist. Das Ziel war aber, einen für die objektorientierte Umgebung und die spezifischen Anforderungen der Shell optimalen Ansatz zu finden.

Ein zentrales Konzept der Shell ist das Pipelining, mit dem die Ausgabe eines Verarbeitungsschritts als Eingabe für den folgenden Schritt verwendet werden kann. Da auf Basis von Objekten gearbeitet wird, ist das einfacher zu bewerkstelligen als bei traditionellen Ansätzen von Shells, bei denen Text übergeben wird, von dem beispielsweise für den folgenden Verarbeitungsschritt zunächst die Kopfzeilen entfernt werden müssen.

Einer der wesentlichen Vorteile ist, dass durch die einheitliche Verarbeitung von Parametern über nur einen Parser auch mit Standardparametern für viele cmdlets gearbeitet werden kann. Das gilt beispielsweise für die einheitliche Fehlerverarbeitung, die sehr viel umfassender ist als bei anderen Shells.

Die Aliase in Form von Abkürzungen für die vordefinierten cmdlets entsprechen teilweise Befehlen, die man auch von der bisherigen Windows-Shell kennt. Der Alias dir steht zum Beispiel für Get-Childitem. Dieses cmdlet hat aber auch noch einen anderen Alias, nämlich ls – also den bei Linux und UNIX üblichen Befehl für das Auflisten von Inhalten. Allerdings ist das cmdlet deutlich umfangreicher. Wenn das bearbeitete Objekt ein Verzeichnis ist, werden die Dateien aufgezeigt. Bei anderen Objektklassen werden aber andere untergeordnete Informationen aufgelistet. Da aber zunächst auf das Dateisystem als Objekt referenziert wird, verhält sich dir zunächst so, wie man es gewöhnt ist.

Auch wenn die Windows-PowerShell einiges an Potenzial bietet, ist sie doch etwas gewöhnungsbedürftig, wenn man bisher primär mit der klassischen Befehlszeile oder auch den Scripting-Funktionen des Windows Scripting Host gearbeitet hat. Sie bietet aber einiges an interessanten Möglichkeiten. In den folgenden Ausgaben von Expert’s inside Windows NT/2000 werden wir in weiteren Artikeln auf die Möglichkeiten der Windows-PowerShell eingehen.

Bild 1: Die Windows-PowerShell wirkt auf den ersten Blick wie eine normale Befehlszeile, bietet aber sehr viel mehr Funktionalität.
Bild 1: Die Windows-PowerShell wirkt auf den ersten Blick wie eine normale Befehlszeile, bietet aber sehr viel mehr Funktionalität.

Serienfortsetzung

Da das aktuelle Heft aus gegebenem Anlass einen sehr umfassenden Schwerpunkt zu den neu verfügbaren Beta 2-Versionen von Windows Server „Longhorn“ und Windows Vista hat, folgt die Fortsetzung der laufenden Serien in der kommenden Ausgabe von Expert’s inside Windows NT/2000.