26.01.2007 | Autor / Redakteur: Markus Widl / Andreas Donner
Vor zwei Monaten veröffentlichte Microsoft die finale Version der PowerShell. Sie gilt als Nachfolger der eingestaubten Eingabeaufforderung cmd.exe und soll auch den Windows Script Host ablösen. SearchNetworking stellt die PowerShell in einer Artikelserie vor.
Linux- und Unix-Administratoren haben in der Vergangenheit die eingeschränkten Möglichkeiten der Windows-Eingabeaufforderung belächelt – zu Recht, denn sie sind deutlich leistungsfähigere Funktionalitäten ihrer Shells gewohnt. Doch dies könnte nun bald anders werden. Die im November 2006 erschienene finale Version der PowerShell stellt einen deutlichen Fortschritt gegenüber cmd.exe oder auch dem Windows Script Host (WSH) mit seinen Scriptsprachen zur Automatisierung dar.
Microsoft setzt viel auf die PowerShell, was auch besonders am Exchange Server 2007 deutlich wird, der ebenfalls seit Kurzem in der Releaseversion erhältlich ist. Dort setzt die komplette Verwaltung auf der PowerShell auf. Die Exchange Management Console, eine MMC-Anwendung ruft dabei im Hintergrund PowerShell-Befehle auf. Dies geht sogar soweit, dass über die MMC gar nicht alle möglichen Konfigurationen vorgenommen werden können. Ein Beispiel dafür sind die öffentlichen Ordner, sie lassen sich nur über die PowerShell verwalten.
Es ist zu erwarten, dass die PowerShell in Zukunft eine immer wichtigere Rolle spielen wird, wenn auch die Verwaltung anderer Server-Produkte auf der PowerShell aufsetzen. Kaum ein Windows-Administrator wird dann ohne fundierte PowerShell-Kenntnisse auskommen. Dritthersteller haben das Potential der PowerShell erkannt und bieten bereits sogenannte Snap-Ins an, mit denen die Basisfunktionalität um neue Funktionen erweitert wird.
SearchNetworking beschäftigt sich in einer zwölfteiligen Artikelserie über insgesamt sechs Monate intensiv mit der PowerShell. Jeweils zwei Teile der Serie wird SearchNetworking pro Monat online stellen, sodass der letzte Teil des Intensivkurses im Juni zu lesen sein wird. In dieser ersten Folge werden Eigenschaften und Voraussetzungen geklärt. Außerdem werden einige einführende Beispiele gezeigt, um ein Gefühl für die Leistungsfähigkeit und den Aufbau von PowerShell-Befehlen zu vermitteln.
Die Artikelserie besteht aus folgenden Teilen:
Die PowerShell selbst wurde vollständig mit .NET-Technologien entwickelt und setzt auf dem .NET-Framework auf. Ein großer Vorteil darin liegt in der direkten Unterstützung des .NET-Objektmodells. Eventuell eingesetzte Variablen entsprechen den Datentypen des Frameworks. Auch der Zugriff auf die große Funktionsbibliothek des .NET-Frameworks steht dem Anwender offen. Mussten Script-Entwickler zu WSH-Zeiten auf spezielle COM-Objekte zurückgreifen, wenn die Basisfunktionalität des WSH nicht ausreichte, ist es nun häufig mit dem Aufruf einer Methode einer .NET-Klasse getan. Kenntnisse des .NET-Frameworks sind daher hier hilfreich.
Die PowerShell unterstützt den direkten Zugriff auf das Active Directory über ADSI („Active Directory Service Interface“). Aber auch herkömmliche COM-Objekte können nach wie vor eingesetzt werden. Ebenso finden Entwickler eine leistungsfähige Schnittstelle zum Aufruf von WMI-Funktionen mit Hilfe derer von der PowerShell aus andere Computer im Netzwerk verwaltet werden können.
Spannend ist auch das so genannte Navigationsparadigma. Dabei werden unterschiedliche Informationsspeicher über den gleichen Befehlssatz verwaltet. Das Paradigma orientiert sich dabei am Laufwerks-/Ordner-Konzept. So ist es beispielsweise möglich, die Systemregistrierung wie die Ordnerhierarchie auf einem Datenträger zu durchlaufen und Einträge wie Dateien zu verwalten.
Die PowerShell unterstützt folgende Betriebssysteme, wobei für die beiden letztgenannten bisher nur Beta-Versionen verfügbar sind:
Für jedes dieser Betriebssysteme finden Sie jeweils ein eigenes Installationspaket. Den Link zum Download finden Sie am Ende des Artikels. Vor der PowerShell-Installation ist es erforderlich, zunächst das .NET-Framework 2.0 zu installieren.
Nun ist es Zeit für ein paar einführende Beispiele. Diese werden nicht im Detail erläutert, sie dienen nur der Verdeutlichung, wie die Arbeit mit der PowerShell aussieht.
Eine Liste der vorhandenen Windows-Dienste, bestehend aus deren Namen und Status soll sortiert in einer CSV-Datei gespeichert werden. Der entsprechende Befehl (der auch in Form des Downloads „Beispiel1.ps1“ zur Verfügung steht) sieht folgendermaßen aus:
Eine Datei soll aus dem Web heruntergeladen und lokal gespeichert werden (Download: „Beispiel2.ps1“).
Für einen neuen Anwender soll ein neues Active Directory-Benutzerkonto angelegt werden. Außerdem benötigt er eine Exchange 2007-Mailbox (Download: „Beispiel3.ps1“).
All die angesprochenen Funktionalitäten finden Sie ausführlich erläutert in einem der folgenden Beiträge der Artikelserie wieder.
Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 2002039)