Daniel Esser

oder auch Windows Management Framework 4.0 ist im Oktober diesen Jahres erschienen. Es gibt interessante neue Features.

Configuration Management

PowerShell hat seit je her immer das Potential ein Configuration Management Tool wie z.B. Puppet oder Chef zu werden. Puppet und Chef sind Enterprise Ready und erlauben die automatisierte Konfiguration von Benutzern, Rechten, Freigaben, Datenbanken, Diensten und vielem mehr. Einziges Manko bis dato, beide Tools arbeiten mit der Programmiersprache Ruby (was nicht das Manko ist) welche an und für sich Unix-Artigen Betriebssystemen viel näher steht als z.B. Windows. Dies macht sich in der Unterstützung für Microsoft Produkte bemerkbar; es gibt nur rudimentäre Unterstützung.

Was hat Puppet und Chef der PowerShell voraus? PowerShell ist eine mächtige Script-Sprache. Ruby unterdessen ist auf Windows deutlich weniger mächtig. Allerdings sind Puppet und Chef mit einer zusätzlichen deklarativen Sprache ausgestattet, die es erlaubt einen Zielzustand für Systeme zu beschreiben. Im folgenden Beispiel wird deklarativ festgelegt, dass der Dienst NTP installiert sein muss und sichergestellt wird, dass dieser auch gestartet ist. Konkret bedeutet, dass wenn der Dienst beim Anwenden der Konfiguration nicht installiert ist, dieser anschließend entsprechend eines Paket-Managers (nach)installiert und gestartet wird. Ist dieses bereits installiert und gestartet passiert nichts.

PowerShell 4.0 bietet nun einen ähnliche Funktion, genannt PowerShell Desired State Configuration. Weitere Details gibt es auf der Technet Seite. Anbei ein Beispiel; es wird sichergestellt, dass ein bestimmte Windows Feature installiert ist, in diesem Beispiel der Web Server IIS.

Execution Policy

Microsoft hat die Flüche vieler derer die PowerShell nutzen wollten erhört und die Execution Policy ab Windows Server 2012 R2 Standardmäßig auf RemoteSigned gestellt. Dies erlaubt die Ausführung lokaler Scripte, ledigliche Remote Scripte müssen signiert sein.

Fazit

Es gibt noch eine ganze Menge weitere Features die zu PowerShell 4.0 hinzugekommen sind, nachzulesen auf der Technet Seite. Die Desired State Configuration Syntax bringt die PowerSehll 4.0 meiner Meinung nach aber ein ganzes Stück vorwärts in Sachen Configuration Management.