Grundlagen und Einordnung
- Deklarative Konfiguration: gewünschter Zustand, Idempotenz, die Operationen Get, Test und Set, Konfigurationsabweichungen erkennen
- Die Generationen im Überblick: PowerShell DSC 1.1 in Windows PowerShell 5.1 mit Local Configuration Manager und Pullserver, PSDesiredStateConfiguration 2.0 für PowerShell 7 und Microsoft DSC (v3)
- Was mit PowerShell 7 wegfällt: Local Configuration Manager, Pullserver und integrierte Ressourcen (Ersatz teilweise über PSDscResources), Aufruf von Ressourcen mit Invoke-DscResource
- Welche Variante sich für welchen Einsatzzweck eignet
Microsoft DSC (v3) einsetzen
- Das Befehlszeilenwerkzeug dsc unter Windows, Linux und macOS installieren und aufrufen – ohne Dienst und ohne Abhängigkeit von PowerShell
- Ressourcen finden und einzeln aufrufen: dsc resource list, get, test und set
- Konfigurationsdokumente in YAML oder JSON: Ressourceninstanzen, Parameter, Variablen, Metadaten und Ausdrucksfunktionen
- Abhängigkeiten mit dependsOn und resourceId(), Assertions als Vorbedingungen
- Konfigurationen abfragen, prüfen, durchsetzen und exportieren: dsc config get, test, set (auch mit –what-if) und export
- Ausgaben als JSON oder YAML weiterverarbeiten, Protokollstufen und Exitcodes für die Fehlersuche nutzen
Ressourcen mit PowerShell entwickeln
- Klassenbasierte DSC-Ressourcen in PowerShell schreiben: Schlüsseleigenschaften sowie Get-, Test- und Set-Methode
- Vorhandene PowerShell-DSC-Ressourcen über die Adapter-Ressourcen von Microsoft DSC weiterverwenden
- Befehlsbasierte Ressourcen mit Ressourcenmanifest in einer beliebigen Sprache im Überblick
- Ressourcenmodule testen und über die PowerShell Gallery oder ein internes Repository bereitstellen
Einsatzszenarien und Migration
- Arbeitsplätze und Entwicklungsumgebungen mit WinGet Configuration und winget configure einrichten
- Azure Machine Configuration für Azure-VMs und Server mit Azure Arc: Pakete mit dem Modul GuestConfiguration erstellen, testen und über Azure Policy zuweisen
- Azure Automation State Configuration wird am 30. September 2027 eingestellt: Migration nach Azure Machine Configuration planen
- Bestehende DSC-1.1-Konfigurationen bewerten und Konfigurationen versioniert in CI/CD-Abläufe einbinden