Aufgaben einfach automatisieren

PowerShell 5.0 - die Neuerungen

16.02.2015 von Thomas Joos
Mit Windows 10 kommt die neue PowerShell 5.0 auf den Markt. Interessierte Anwender können den Nachfolger der PowerShell 4.0 auch unter Windows 8.1 oder Windows Server 2012 R2 ausprobieren. Wir fassen die wichtigsten Neuerungen zusammen.

Die PowerShell 5.0 bietet im Vergleich zum direkten Vorgänger einige sehr interessante Neuerungen. Vor allem im Zusammenhang mit Windows 10 und der nächsten Windows-Server-Generation bietet die neue PowerShell enormen Praxisnutzen. Sicherlich die wichtigste Neuerung ist die Möglichkeit, Anwendungen als Paket über die PowerShell zu verteilen.

In Windows 10 ist die PowerShell 5.0 als Preview bereits integriert. Sie können aber auch in Windows Server 2012 R2 und Windows 8.1 die Preview der PowerShell installieren. Dazu laden Sie das Windows Management Framework 5.0 Preview auf den Rechner und installieren es.

OneGet Framework - Software im Netzwerk verteilen

Die PowerShell 5.0 ist mit dem OneGet-Framework ausgestattet. Dabei handelt es sich, einfach ausgedrückt, um eine Sammlung von CMDlets, die beim Verteilen und Installieren von Anwendungen im Netzwerk hilft. Die Anwendungen werden als Pakete installiert. Erfreulich dabei ist, dass Anwender mit der PowerShell 5.0 auf die Pakete von NuGet und Chocolatey Repositories zugreifen können. Damit lassen sich bereits mehrere Tausend Anwendungen installieren. Das entsprechende PowerShell-Modul für OneGet laden Sie mit:

Import-Module -Name OneGet

Die Befehle in diesem Modul lassen Sie sich mit Get-Command -Module OneGet anzeigen. Generell ist die Verwendung der PowerShell ISE aber besser für OneGet geeignet. Sie können jedoch auch problemlos über Skripte in der normalen PowerShell die Paketfunktion nutzen. Bevor Sie Pakete installieren, überprüfen Sie, ob die Ausführungsrichtlinie für Skripte auf RemoteSigned gesetzt ist. Dazu verwenden Sie den Befehl: Set-ExecutionPolicy RemoteSigned. In den Preview-Versionen der PowerShell sind noch nicht alle Quellen verfügbar. Welche derzeit angebunden sind, sehen Sie mit Get-PackageSource.

Bildergalerie:
PowerShell 5.0
Mit der PowerShell 5.0 können Sie Software-Pakete aus dem Internet herunterladen und installieren.
PowerShell 5.0
Für die Anzeige aller Pakete müssen Sie in der PowerShell noch eine Erweiterung installieren.
PowerShell 5.0
In der PowerShell können Sie sich die installierbaren Pakete anzeigen lassen und eigene Filter setzen.
PowerShell 5.0
In der PowerShell 5.0 können Sie auch ZIP-Archive erstellen und extrahieren.

Die zur Verfügung stehenden Pakete lassen Sie sich mit Find-Package | Out-Gridview anzeigen. Teilweise erhalten Sie die Meldung, dass Sie die NuGet-Erweiterung in der PowerShell installieren müssen. Diese Meldung bestätigen Sie.

Danach werden die Pakete in einem eigenen Fenster angezeigt. Hier können Sie auch Filter setzen und die Anzeige auf diesem Weg ein wenig einschränken.

Wollen Sie ein Paket installieren, verwenden Sie:

Find-Package | Out-GridView -Title "<Paket das installiert werden soll>" -PassThru | Install-Package -Force

Die Pakete werden standardmäßig ohne Benutzereingaben installiert. Die dazu notwendigen Optionen wurden direkt in das Paket integriert. Sie können dieses Verhalten also nicht über die PowerShell steuern, sondern müssen über die Installationsdateien des Paketes gehen.

Sie können mit OneGet also auch Basis-Images von Windows-Arbeitsstationen erstellen. Dazu installieren Sie das Betriebssystem und danach Basisanwendungen, die über die Pakete zur Verfügung stehen. Wollen Sie bestimmte Pakete suchen, verwenden Sie:

Find-Package -Name *<Name>*

Arbeiten Sie immer mit den beiden Platzhaltern *, da Sie nur so alle relevanten Pakete angezeigt bekommen. Kennen Sie den genauen Namen des Paketes, können Sie die Platzhalter natürlich weglassen. Neben der Möglichkeit, nach Anwendungen in den Paketen zu suchen, können Sie sich auch auf die Suche nach den Versionen machen. Dazu verwenden Sie die Option -MinimumVersion <Version> des CMDlets Find-Package. Wollen Sie neuere Versionen filtern, verwenden Sie -MaximumVersion.

Weitere Neuerungen in der PowerShell 5.0 - Netzwerkkomponenten verwalten

Weitere Neuerungen in der PowerShell betreffen die mit der PowerShell 4.0 eingeführte Technologie Desired State Configuration (DSC). Hauptsächlich gibt es neue Optionen, um festzulegen, auf wie vielen Computern gleichzeitig die Änderungen implementiert werden sollen. Mit dem Modul PowerShellGet können Sie DSC-Ressourcen in der PowerShell Resource Gallery nutzen, installieren oder hochladen.

Entwickler können in der PowerShell auch Zip-Archive entpacken und erstellen. Dabei helfen die beiden neuen CMDlets Compress-Archive und Expand-Archive. Mehr zu diesem Thema lesen Sie in einem eigenen Blog-Beitrag bei Learn PowerShell.

Ebenfalls neu ist Data Center Abstraction (DAL). Mit dieser Technologie können Sie direkt auf bestimmte Netzwerkkomponenten wie Switches und Router zugreifen. Dazu muss die Hardware diese Technik aber auch unterstützen. In diesem Bereich spielen vor allem Cisco und Huawei eine wichtige Rolle. Microsoft geht in einem eigenen Blog-Eintrag auf diese Möglichkeiten ein. Um die neuen CMDlets nutzen zu können, verwenden Sie das Modul NetworkSwitch.

Programmentwickler wird es freuen, dass mit der PowerShell auch Klassendefinitionen möglich sind. Hier können Sie mit dem neuen Schlüsselwort "class", wie in objektorientierten Sprachen, eigene Klassen definieren. Beispiel:

# Definition einer Klasseclass Computer

Die Klasse Computer können Sie dann im weiteren PowerShell-Skript verwenden. Wie schnell erkennbar wird, bietet die PowerShell mit jeder neuen Version wirklich interessante Funktionen, die Administratoren, aber auch Entwicklern das Leben erleichtern. Da die neue Version auch für Windows 8.1 und Windows Server 2012 R2 verfügbar ist, sollten sich Administratoren jetzt schon mit den Möglichkeiten auseinandersetzen. Allerdings sind derzeit bei Weitem noch nicht alle Funktionen in der Paketverwaltung und der Verwaltung von Switches integriert. In diesem Video sehen Sie, welche neuen Kommandos und Möglichkeiten Powershell 5.0 bietet.

Zum Video: PowerShell 5.0 - die Neuerungen

PowerShell - Versionen- und Upgrade-Übersicht

Übersicht PowerShell-Versionen

Betriebssystem

Enthaltene PowerShell-Version

Nachrüstbar auf und mit…

Anmerkungen

Windows Server 2003

keine

PowerShell 2.0 mit Update for Windows Server 2003 (KB968930)

benötigt Server SP2

Windows Server 2008

keine

PowerShell 3.0 mit Windows Management Framework 3.0

benötigt Server SP2

Windows Server 2008 R2

PowerShell 2.0

PowerShell 4.0 mit Windows Management Framework 4.0

siehe Warnung unten

Windows Server 2012

PowerShell 3.0

PowerShell 4.0 mit Windows Management Framework 4.0

siehe Warnung unten

Windows Server 2012 R2 und Windows 8.1

PowerShell 4.0

PowerShell 5.0 mit Windows Management Framework 5.0 Preview

noch Preview-Status

Warnung: Einige Dienste und Anwendungen kommen jedoch nicht mit einer neueren Version zurecht. So sollen beispielsweise der Microsoft Exchange Server 2007 und der Windows Small Business Server 2011 Standard nicht mit dem Windows Management Framework 4.0 betrieben werden. (siehe Windows Management Framework 4.0 - System Requirements). (mje)