Desired State Configuration (DSC)

Allgemeine Infos

Desired State Configuration (DSC) beschreibt den gewünschten Zustand eines Systems deklarativ, also Rollen, Dienste, Registry-Werte, Dateien oder Softwarepakete. DSC prüft den Istzustand, meldet Abweichungen (Drift) und stellt den Sollzustand auf Wunsch her.

Es gibt zwei Generationen: Das klassische PowerShell DSC (PSDesiredStateConfiguration 1.1 in Windows PowerShell, 2.x als Modul) arbeitet mit PowerShell-Konfigurationsskripten, MOF-Dateien und dem Local Configuration Manager (LCM) als Dienst. DSC v3 ist eine Neuentwicklung: ein Kommandozeilenprogramm dsc ohne LCM und ohne Dienst, Konfigurationsdokumente in JSON oder YAML, Ressourcen in beliebigen Sprachen. Aktuelle Version ist 3.2.3 (Juli 2026).

Azure-Bezug: Azure Automation State Configuration wird am 30. September 2027 eingestellt. Nachfolger ist Azure Machine Configuration (früher Guest Configuration) als Funktion von Azure Policy, für Server außerhalb von Azure über Azure Arc. WinGet Configuration und Microsoft Dev Box nutzen DSC v3 ebenfalls.

Funktionsweise & Details

So arbeitet DSC v3:

  1. Ein Konfigurationsdokument (JSON oder YAML) listet Ressourceninstanzen mit ihren Sollwerten. Es unterstützt einen Teil der ARM-Template-Syntax mit Parametern, Variablen und Funktionen.
  2. Ressourcen sind Programme mit einem JSON- oder YAML-Manifest statt MOF. Sie können in Bash, Python, C#, Rust oder PowerShell geschrieben sein.
  3. Der Befehl dsc ruft die Ressourcen auf, um den Zustand abzufragen, zu testen oder herzustellen.
  4. Adapter binden bestehende Ressourcen ein: Microsoft.DSC/PowerShell für klassenbasierte PSDSC-Ressourcen auf allen Plattformen, Microsoft.Windows/WindowsPowerShell für Windows-PowerShell-Ressourcen nur unter Windows.
  5. Weil es keinen LCM gibt, übernimmt ein Orchestrierer die regelmäßige Ausführung, etwa Azure Machine Configuration, WinGet oder ein geplanter Job.

Azure Machine Configuration kennt die Modi Audit, Apply and Monitor sowie Apply and Autocorrect und erlaubt bis zu 50 Zuweisungen pro Maschine.

Vorteile & Nutzen

  • Konfiguration als Code: Serverstandards liegen versioniert im Repository und sind nachvollziehbar
  • Drift-Erkennung: Abweichungen vom Sollzustand fallen auf, bevor sie zu Sicherheitslücken oder Störungen führen
  • Wiederholbarkeit: Dieselbe Konfiguration erzeugt auf neuen Servern denselben Zustand
  • Plattformübergreifend in v3: Windows- und Linux-Server lassen sich mit einem Werkzeug beschreiben
  • Compliance-Nachweise: Über Azure Machine Configuration erscheinen Abweichungen im Compliance-Bericht von Azure Policy

Praxisbeispiel

Ein Mittelständler aus der Kunststoffverarbeitung betreibt 25 Windows-Server, deren Härtung bisher per Checkliste erfolgte. Die IT beschreibt Basiseinstellungen wie deaktiviertes SMBv1, TLS-Vorgaben und Dienste als DSC-Konfiguration und weist sie über Azure Arc und Azure Machine Configuration im Modus Audit zu. Nach zwei Wochen Auswertung schaltet sie für unkritische Einstellungen auf Apply and Autocorrect. Bei Audits zeigt sie den Compliance-Bericht statt ausgefüllter Checklisten.

Worauf sollte man achten?

  • Neue Projekte nicht mehr auf Azure Automation State Configuration aufbauen, der Dienst endet am 30. September 2027
  • Mit dem Modus Audit beginnen und erst nach Auswertung automatisch korrigieren lassen
  • DSC v3 und klassisches PSDSC nicht verwechseln: Syntax, Ressourcenformat und Betriebsmodell unterscheiden sich grundlegend
  • Konfigurationen in Git versionieren und Änderungen per Review freigeben
  • Keine Kennwörter im Konfigurationsdokument hinterlegen, sondern Parameter und sichere Quellen nutzen

Lizenz & Verfügbarkeit

DSC v3 und PSDesiredStateConfiguration sind kostenlos und Open Source, Windows PowerShell 5.1 enthält PSDSC 1.1. Azure Machine Configuration ist eine Funktion von Azure Policy, für Server außerhalb von Azure ist Azure Arc nötig. Zu den Kosten nennt die Übersichtsseite von Microsoft keine Angaben, prüfe daher die Preisseiten von Azure Policy und Azure Arc. Azure Automation State Configuration endet am 30. September 2027. Stand: Oktober 2026.

Fazit

DSC ist Microsofts Weg zu Serverkonfiguration als Code. Für neue Vorhaben sind DSC v3 und Azure Machine Configuration die richtige Basis, Azure Automation State Configuration läuft 2027 aus.