Fotolia

Mit PowerShell DSC System-Konfigurationen definieren und einhalten

PowerShell Desired State Configuration ermöglicht die zentrale Konfigurations-Verwaltung von Windows-Systemen. Im Mittelpunkt stehen dabei MOF-Dateien.

Die PowerShell Desired State Configuration (DSC) bietet die Möglichkeit, Einstellungen für Windows-Server in einer Skriptdatei zu speichern und auf beliebige Server zu verteilen.

Dadurch lassen sich bei der Serverbereitstellung mehrere unterschiedliche Einstellungen und Konfigurationen auf eine große Anzahl an Server verteilen und automatisiert aktivieren. Die PowerShell DSC arbeitet dazu mit Vorlagen, die Administratoren benutzerdefiniert erstellen und verteilen können.

Über die Vorlagendatei lassen sich zum Beispiel Dienste starten oder beenden, Benutzer, Gruppen oder andere Objekte anlegen und Registry-Einstellungen ändern.

Änderungen per DSC überwachen und rückgängig machen

Über die PowerShell DSC lassen sich aber nicht nur verschiedene Änderungen automatisiert verteilen, Administratoren können damit auch überprüfen, ob die Einstellungen auf den Servern geändert wurden. Erkennt das die PowerShell, werden die Einstellungen der Vorlagendatei wieder angewendet.

Damit PowerShell Desired State Configuration aber überhaupt verwendet werden kann, muss zunächst das dazugehörige Modul über den Server-Manager installiert werden. Dieses Modul ist über die Installation der Features bei Windows PowerShell/Windows PowerShell-Dienst zum Konfigurieren des gewünschten Zustands zu finden.

Damit PowerShell DSC funktioniert, muss das entsprechende Feature auf den Servern installiert sein.
Abbildung 1: Damit PowerShell DSC funktioniert, muss das entsprechende Feature auf den Servern installiert sein.

Zwar ist die PowerShell DSC auf Basis der PowerShell 4.0 bereits seit Windows Server 2012 R2 und Windows 8.1 recht gut umsetzbar, allerdings bietet Windows Server 2016 einige interessante Neuerungen. Mit dem Befehl PowerShellGet lassen sich PowerShell-DSC-Ressourcen über die PowerShell Resource Gallery abrufen und eigene Vorlagen hochladen.

Auch auf GitHub sind Vorlagen und andere Ressourcen für die PowerShell DSC zu finden. Mit dem DSC Resource Kit können Administratoren auch Einstellungen von Serverdiensten wie Active Directory, SQL Server, IIS oder auch Hyper-V per Desired State Configuration steuern.

DSC-Konfigurationsdateien selbst erstellen

Konfigurationsdateien lassen sich entweder aus der PowerShell Resource Gallery herunterladen oder selbst erstellen. Die Dateien werden als PowerShell-Skript gespeichert und dann für die Erstellung einer MOF-Datei verwendet. Diese enthält die lesbaren Informationen für die PowerShell. Ein Beispiel für den Inhalt wäre:

Configuration Security

Service Wuauserv

{

    ServiceName = "wuauserv"

    StartupType = "Automatic"

}

Weitere Artikel zur PowerShell DSC:

Überblick und Grundfunktionen der PowerShell DSC

Hyper-V-Hosts per DSC erstellen

Dateiserver über die DSC bereitstellen

DSC MOF-Dateien erstellen und anwenden

Sobald alle Anpassungen in der Skriptdatei erstellt wurden, lässt sich die MOF-Datei auf Basis der Skriptdatei erstellen:

<Name der Konfiguration> -MachineName <Name des Servers auf den die Datei angewendet werden soll>

Der Name der Konfiguration wurde in der Skript-Datei vorgegeben. Die MOF-Dateien werden dann zum Anwenden der Konfigurationen im Netzwerk gespeichert und über die PowerShell abgerufen.

Zum Absichern eines Servers mit DSC werden zunächst die MOF-Dateien auf die Ziel-Server kopiert, alternativ kann auch eine Netzwerkfreigabe verwendet werden. Für die Anwendung von MOF-Dateien auf den Zielservern wird das Cmdlet Start-DscConfiguration verwendet:

Start-DscConfiguration -Wait -Verbose -Path .\<Name>

Dadurch werden die Einstellungen der MOF-Datei auf den Server angewendet. Soll überprüft werden, ob die Einstellungen der Vorlagendatei noch auf dem Server vorhanden sind, kann die Konfiguration auch getestet werden. Administratoren können jederzeit überprüfen, ob die mit DSC vorgegebenen Sicherheitseinstellungen auf einem Server noch so gesetzt sind, wie diese definiert wurden. Dazu steht das Cmdlet Test-DscConfiguration zur Verfügung.

Das Cmdlet zeigt mit True (Einstellungen stimmen noch) oder False (Einstellungen wurden geändert) an, ob die Konfiguration den Vorgaben entspricht. Die PowerShell DSC kann die jeweilige MOF-Datei mit Start-DscConfiguration wieder anwenden lassen und damit die Einstellungen wieder korrekt setzen.

Über MOF-Dateien lassen sich auch Serverrollen installieren, Benutzer anlegen, Verzeichnisse oder Dateien überprüfen und vieles mehr. Dazu stehen in der Resource Gallery zahlreiche Beispiele zur Verfügung. Um sich alle Möglichkeiten anzuzeigen, wird der Befehl Get-DscResource | select Name,Module,Properties | Ft -AutoSize verwendet. Die genaue Syntax lässt sich mit dem Befehl Get-DSCResource File -syntax anzeigen.

DSC-Automatisierung auf Microsoft Azure ausdehnen

Die Automatisierung per PowerShell DSC lässt sich mit Azure DSC auch in Microsoft Azure anwenden. Die Syntax dazu ist nahezu identisch. Dadurch lassen sich Sicherheitseinstellungen und andere Konfigurationen von lokalen Servern auf Ressourcen in Microsoft Azure übertragen. Microsoft geht darauf in der Dokumentation von Microsoft Azure ausführlicher ein.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im April 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Windows-Server

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close