Windows 7 / 8 und Windows Server 2008 R2 / 2012

PowerShell 3.0 - Die Neuerungen im Überblick

Skripte und Aufgaben mit der PowerShell

Eine der wichtigsten Neuerungen der PowerShell 3.0 ist die Unterstützung für Skriptbefehle die sehr lange andauern, zum Beispiel zur Wartung, Datensicherung oder Verteilung von Anwendungen. Microsoft hat dazu Funktionen der Windows Workflow Foundation (WWF) in die PowerShell integriert. Diese Technik erlaubt auch das parallele Ausführen mehrerer Befehle. Aktionen lassen sich in Abhängigkeit voneinander setzen und mit Bedingungen konfigurieren. Allerdings ist dieser Bereich ein wenig komplexer zu bedienen.

Ablaufplanung: Sie können zeitgesteuerte Skripts in Windows Server 2012 verwenden.
Ablaufplanung: Sie können zeitgesteuerte Skripts in Windows Server 2012 verwenden.

Sitzungen über das Netzwerk lassen sich trennen und wieder erneut aufbauen. Dazu gibt es die beiden neuen CMDlets Disconnect-PSSession und Connect-PSSession. Auch das Rechtemodell hat Microsoft verbessert und eine Delegierung von Berechtigungen integriert, um Benutzer mit weniger Rechten das Ausführen von Skripten zu erlauben.

PowerShell-Aufgaben lassen sich in der PowerShell 3.0 auch zeitgesteuert starten. Das geht zwar auch mit der PowerShell 2.0 eingeschränkt, allerdings müssen Sie dazu die Aufgabensteuerung in Windows Server 2008 R2 oder Windows 7 verwenden. In der neuen PowerShell können Sie die entsprechenden Einstellungen direkt im Skript vornehmen, ohne auf die Aufgabenplanung des Betriebssystems setzen zu müssen. Dazu stellt Microsoft das neue PowerShell-Modul PSScheduledJob zur Verfügung. Alle zur Verfügung stehenden Befehle lassen Sie sich mit

Get-Command -Module PSScheduledJob | Sort-Object Noun, Verb

anzeigen. Microsoft zeigt in einem Blog-Beitrag den Umgang mit der neuen Funktion.

Leichtere Bedienung mit der PowerShell in Windows 8 und Windows Server 2012

Eine wesentliche Neuerung in der PowerShell 3.0 ist die einfachere Bedienung. Zunächst müssen Sie in der neuen Version keine Module mehr laden wie in der PowerShell 2.0. Alle Erweiterungen und Module, die installiert sind, erkennt die PowerShell und kann sie automatisch verwenden, sobald Sie ein CMDlet eines bestimmten Moduls eingeben.

Unterstützung: Die PowerShell 3.0 bietet eine ausführlichere Hilfe als PowerShell 2.0 und kann Hilfedateien nachladen.
Unterstützung: Die PowerShell 3.0 bietet eine ausführlichere Hilfe als PowerShell 2.0 und kann Hilfedateien nachladen.

Die neue Version zeigt auch weniger Fehlermeldungen an, wenn eine Option eines CMDlets fehlt. Stattdessen fragt die PowerShell nach den noch fehlenden Optionen. In der PowerShell 3.0 hat Microsoft die Hilfefunktion deutlich erweitert. Wenn Sie eine Hilfe zu CMDlets aufrufen, kann sich die PowerShell selbstständig aktualisieren. Das funktioniert eingeschränkt auch mit der alten PowerShell 2.0, wenn Sie für das CMDlet get-help die Option -online verwenden, zum Beispiel mit

get-help get-command -online

Die PowerShell 3.0 bietet das neue CMDlet update-help, das die Hilfedateien der PowerShell aktualisieren kann. Dazu muss der Server über eine Internetverbindung verfügen. Der Befehl ruft die Hilfe direkt aus dem Internet ab.

Hilfreich: Sie können sich in der PowerShell 3.0 ein spezielles Hilfefenster anzeigen lassen.
Hilfreich: Sie können sich in der PowerShell 3.0 ein spezielles Hilfefenster anzeigen lassen.

Ebenfalls eine neue Funktion in der PowerShell 3.0 ist das CMDlet show-command. Dieses blendet ein neues Fenster mit allen Befehlen ein, die in der PowerShell verfügbar sind. Sie können im Fenster nach Befehlen suchen und sich eine Hilfe zum Befehl sowie Beispiele anzeigen lassen. Allerdings muss dazu die grafische Oberfläche der PowerShell, PowerShell ISE (Integrated Script Engine), installiert sein. Das ist in Windows 8 serienmäßig der Fall, in Windows Server 2012 müssen Sie dieses als Feature nachträglich installieren.

Sie können in der PowerShell auch eine Remote-Sitzung auf einem Server starten. Am besten verwenden Sie dazu die erwähnte PowerShell ISE. Nach dem Start können Sie eine Verbindung mit Datei\Neue Remote-PowerShell-Registerkarte öffnen. Hier geben Sie einen Servernamen und einen Benutzernamen ein, mit dem Sie sich verbinden wollen.