Aufgaben einfach automatisieren
PowerShell 5.0 - die Neuerungen
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.
- 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.