Aufgaben einfach automatisieren

PowerShell 4.0 im Überblick

Frank-Michael Schlede arbeitet seit den achtziger Jahren in der IT und ist seit 1990 als Trainer und Fachjournalist tätig. Nach unterschiedlichen Tätigkeiten als Redakteur und Chefredakteur in verschiedenen Verlagen arbeitet er seit Ende 2009 als freier IT-Journalist für verschiedene Online- und Print-Publikationen. Er lebt und arbeitet in Pfaffenhofen an der Ilm.
Thomas Bär, der seit Ende der neunziger Jahre in der IT tätig ist, bringt weit reichende Erfahrungen bei der Einführung und Umsetzung von IT-Prozessen im Gesundheitswesen mit. Dieses in der Praxis gewonnene Wissen hat er seit Anfang 2000 in zahlreichen Publikationen als Fachjournalist in einer großen Zahl von Artikeln umgesetzt. Er lebt und arbeitet in Günzburg.
Die PowerShell ist wohl eines der wichtigsten Windows-Werkzeuge für Profi-Anwender und Admins. Die neue PowerShell 4.0 kommt mit Windows 8.1 und Server 2012 R2, lässt sich aber auch unter Windows 7 und Server 2008 R2 nutzen. Wir stellen einige der Neuerungen vor.

Wer die verschiedenen Versionen der PowerShell und ihre unterschiedlichen Features in den letzten Jahren verfolgt hat, konnte eine stetige Entwicklung von einer einfachen Batch- und Scripting-Sprache hin zu einem vollwertigen Werkzeug zur Administration und Automatisierung der Windows-Systeme verfolgen. Das wird zudem dadurch bestätigt, dass es Microsoft den Administratoren ermöglicht, eine immer größere Anzahl von Systemverwaltungsaufgaben sowohl auf den Windows- als auch auf Anwendungs-Servern wie Exchange mit Hilfe der PowerShell zu erledigen und vor allen Dingen auch zu automatisieren.

Die PowerShell ist wohl eines der wichtigsten Windows-Werkzeuge für Profi-Anwender und Admins.
Die PowerShell ist wohl eines der wichtigsten Windows-Werkzeuge für Profi-Anwender und Admins.
Foto: Sergey Nivens, Fotolia.com

PowerShell 4.0 als Teil des WMF 4.0: Nicht auf allen Systemen installierbar

Die aktuelle Version 4.0 der PowerShell steht Anwendern und Administratoren standardmäßig auf den Systemen unter Windows 8.1 und auf dem Windows Server 2012 R2 sofort nach der Installation der Betriebssysteme zur Verfügung. Insgesamt ist die PowerShell Teil des Pakets Windows Management Framework 4.0 (WMF), das neben der Shell auch neue Versionen von WinRM (Windows Remote Management), WMI (Windows Management Instrumentation) und der integrierten Entwicklungsumgebung ISE (Integrated Scripting Environment) beinhaltet.

Für ältere Windows-Versionen steht das Windows Management Framework zum Download bereit. Es kann auf Systemen unter Windows 7 mit Service Pack 1 (in der 32- und 64-Bit-Version) und auf den Server-Systemen Windows Server 2008 R2 mit Service Pack 1 und Windows Server 2012 installiert werden. Auf dem System muss zudem das .NET Framework 4.5 installiert sein.

Es ist nicht möglich, dieses Systemupdate auf einem Rechner unter Windows 8 zu installieren! Microsoft bezeichnet die PowerShell 4.0 und das WMF als integralen Bestandteil von Windows 8.1, der bei Windows-8-Systemen nur durch das (kostenloses) Update auf Windows 8.1 installiert werden kann. Für Systeme, auf denen einige bestimmte Server-Anwendungen ausgeführt werden, rät Microsoft von einer Installation des WMF 4.0 ab. Das gehören neben dem System Center 2012 Configuration Manager (ohne SP1) auch der System Center Virtual Machine Manager (SCCM) 2008 R2 (mit SP1), der Exchange Server in der Version 2007 und schließlich auch die Version 2011 des Windows Small Business Server. Für den Einsatz auf Server-Systemen, auf denen der Exchange- oder SharePoint-Server in der Version 2010 oder 2013 ausgeführt werden, sind bestimmte Kombinationen von Service Packs und UpdateRollup Voraussetzung, um diese Version der PowerShell problemlos verwenden zu können.

Auch wenn der Wechsel der Versionsnummer von "3" auf "4" ein großes Release erwarten lässt, sind die Auswirkungen nicht so umfassend, wie es beim Wechsel von der PowerShell 2.0 der Fall war. Zu den Neuerungen zählen unter anderem:

• die Unterstützung für Workflow- und RemoteDebugging von Scripts,

• verbesserte Funktionen für das Workflowauthoring, die laut Microsoft auch zur Vereinheitlichung mit dem Script-Authoring dienen,

• als allgemeiner Parameter steht nun "-PipelineVariable" zur Verfügung,

• es gibt eine verbesserte Unterstützung zum Herunterladen aktualisierbarer Hilfe unter Verwendung von "Save-Help" und "Update-Help", die auch nun auch für Offline-Systeme verwendet werden kann,

• Verbesserung bei der integrierten Entwicklungsumgebung ISE,

• verbesserte PowerShell Web-Dienste und

• die Desired State Configuration als wichtigste Neuerung für Administratoren.

Hilfedateien sind nun da - wenn sie nachgeladen werden

Wer die PowerShell in der Version 3.0 auf seinem System installiert hatte, kennt vielleicht noch das Problem, das sich bei dem Versuch ergab, die integrierten Hilfedateien zu verwenden: Hatte Microsoft mit der Version 2.0 noch vollständige sogar lokalisierte Hilfedateien automatisch mit auf dem System installiert, so waren ein Großteil dieser Dateien ab Version 3 nachträglich zu installieren.

Hilfreich: Nach dem Ausführen des Cmdlets "Update-Help" stehen die kompletten und aktuellen Hilfetexte auf dem System bereit: Leider gibt es sie nur noch in englischer Sprache.
Hilfreich: Nach dem Ausführen des Cmdlets "Update-Help" stehen die kompletten und aktuellen Hilfetexte auf dem System bereit: Leider gibt es sie nur noch in englischer Sprache.

Microsoft will so auch sicherstellen, dass diese Daten immer aktuell sind. Allerdings gibt es seit dieser Version auch keine lokalisierten Hilfedateien mehr, die Nutzer müssen mit den englischen Texten vorlieb nehmen.

So erscheinen dann auch bei den ersten Versuchen mit dem Cmdlet "Get-Help" keine ausführlichen Hilfetexten. Allerdings funktioniert im Gegensatz zur vorherigen Version der PowerShell nun auch das Nachlader der englischsprachigen Texte auf Systemen in deutscher Sprache. Dazu müssen Sie in einer PowerShell-Konsole mit Administratorrechten den Befehl:

Update-Help

aufrufen. Ohne zusätzliche Parameter überprüft dieses Cmdlet die Versionen der Hilfedateien auf dem System und lädt die aktuellsten Dateien aus dem Netz herunter. Für den Offline-Einsatz ist mit der PowerShell 4.0 nun auch möglich, mit Hilfe des Cmdlets "Save-Help", diese Dateien aus dem Internet herunterzuladen und im Dateisystem abzulegen. Danach können Administratoren diese Dateien mittels "Update-Help" und dem Parameter "-SourcePath <Pfadname>" auch auf Systemen verteilen, die nicht mit dem Internet verbunden.

Es ist auch möglich, den Aufruf von "Update-Help" in das PowerShell-Profile einzubinden, um so immer auf dem aktuellen Stand zu bleiben. Standardmäßig führt die Shell diesen Befehl nur einmal täglich aus, der Parameter "-Force" hebt diese Beschränkung auf.