Individualschulungen
Entwicklung
Aktuelle Themen
.NET
JavaScript / TypeScript
Java
Programmiersprachen
Entwicklungswerkzeuge
Benutzeroberflächen / User Experience
Softwareengineering
KI in der Softwareentwicklung
Plattformen & Systeme
KI
Web & Cloud
Apps / Mobilplattformen
Datenbanken / Reporting / BI
Betriebssysteme & Virtualisierung
Microsoft Server-Produkte
Scripting
Windows & Office für Anwender
Soft Skills & IT-Recht
Das bieten nur wir
Umfangreicher Themenkatalog
Wählen Sie aus 1055 Themen
Weiterbildungsphilosophie
Individuelle Anpassung an Ihre Anforderungen
Didaktische Konzepte
Ganz nach Ihren Wünschen
Vorteile individueller Firmenseminare
Im Vergleich zu offenen Seminaren
Vor Ort oder online
Alles ist in Ihrem Hause oder online möglich
Top-Trainer
Die besten und renommiertesten Experten
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
1055 Themen, die frei anpassbar und kombinierbar sind
Gesamter Themenkatalog →
Offene Schulungen
Online-Trainings
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI, Uno & Avalonia
Blazor
ASP.NET Core WebAPI
Entity Framework Core
Unit Testing / TDD
PowerShell
Alle Seminartermine
INFOTAGE
INFOTAG ".NET 12.0"
am 22.06.2027
INFOTAG "KI" 2027
am 15.09.2027
Das bieten nur wir
Renommierte Top-Trainer
Die besten und bekanntesten Experten schulen Sie!
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Nicht das passende Thema dabei? Stellen Sie Ihre individuelle Firmenschulung aus 1055 Modulen zusammen!
Individualschulungen →
Beratung, Support & Entwicklung
Alle unsere Leistungen
Beratung
Beratung zu vielen technischen und methodischen Themen
Coaching
Projektbegleitende Unterstützung
Softwareentwicklung
Wir entwickeln einzelne Module oder ganze Anwendungen für Sie
Technischer Support
Support für einzelne technische Fragen
Individualschulungen
1055 Themen, die frei anpassbar und kombinierbar sind
Offene Seminare
Ausgewählte Themen bieten wir auch als öffentliche Online-Schulungen an.
Beratungsthemen
Anwendungsarchitektur
Datenbankzugriff/Data Access
DevOps
Frontend, GUI, UX
IT-Infrastruktur
Leistung/Performance
Machbarkeit und Prototyping
Methodik, Prozesse, Teamarbeit
Migration und Versionsumstieg
Mobilanwendungen
Reviews und Qualitätssicherung
Sicherheit/Security
Verteilte Systeme und Services
Webtechniken
Werkzeugauswahl
Weitere Themen
Auch alle Schulungsthemen sind als Beratung möglich!
Das bieten nur wir
Renommierte Top-Berater
Durch Vorträge und Veröffentlichungen sehr bekannte Experten
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Referenzprojekte
Zahlreiche Referenzprojekte
Beratung vor Ort oder remote – flexibel nach Bedarf.
Zu den Beratungsthemen →
Wissen
Publikationen & Vorträge
Fachbücher
Fachartikel
Konferenzvorträge
Weblog
Spickzettel/Cheat Sheets
Lexikon/Glossar
Programmcodebibliothek
Fallbeispiele
Newsletter
Downloads
Themenportale
Übersicht
.NET/C#/Visual Studio
.NET 11.0
.NET 10.0
.NET 9.0
.NET 8.0
ASP.NET (Core)/Blazor
PowerShell
Versionshistorie
Konferenzen/Events
Community-/Leserportal
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Schulungen, Beratung, Support, Coaching, Softwareentwicklung
Unsere kommerziellen Leistungen →
Über uns
Unternehmen
Zahlen
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Unsere Top-Experten
Leitung & Kundenteam
Partner
Weitere Websites
Referenzen
Referenzkunden
Kundenaussagen
Referenzprojekte
Kontakt & Rechtliches
Kontakt
Impressum
Datenschutzerklärung, Haftung, Urheberrecht, Barrierefreiheit
Impressum, Datenschutz und Barrierefreiheit unter Kontakt & Rechtliches.
Rechtliches →
Erklärung des Begriffs: Desired State Configuration (DSC)
Begriff
Desired State Configuration
Abkürzung
DSC
Eintrag zuletzt aktualisiert am
24.05.2023
Zur Stichwortliste unseres Lexikons
Was ist
Desired State Configuration
?
Desired State Configuration (DSC) ist ein deklaratives Verfahren zur Systemkonfiguration, das Microsoft mit der PowerShell Version 4.0 im Jahr 2013 neu eingeführt hat.
Bei klassischer scriptbasierter Konfiguration legt der Administrator die einzelnen Schritte zur Zielkonfiguration fest. Er muss in der Regel vor Beginn eines Konfigurationsschritts prüfen, ob die Konfiguration schon vorhanden ist, bevor er sie ausführt. Auch das Rückgängigmachen einer Konfiguration muss er durch einzelne Schritte realisieren.
Bei DSC beschreibt der Administrator deklarativ nur das Ziel einer Konfiguration. DSC ist selbst in der Lage, den aktuellen Zustand zu prüfen, einen nicht notwendigen Schritt zu überspringen, eine aus (vielen) Teilen bestehende Konfiguration durchzusetzen und auch diese Schritte wieder rückgängig zu machen.
DSC wird seit 2023 auch im
Windows Package Manager
(
WinGet
) verwendet für die Konfiguration von Rechnern.
Idempotente Ausführung
Aus der Sicht von DSC ist es kein Fehler, wenn eine Konfiguration schon vorhanden ist (idempotente Ausführung).
Ressourcen
DSC kennt „Ressourcen“. Für eine Ressource (z.B. Benutzer, Gruppen, Dienste, Umgebungsvariablen,
Prozesse
, Registry) definiert der Administrator den Zielzustand. Zu jeder konfigurierbaren Ressource gibt es in der PowerShell einen DSC-Ressourcentyp (z.B. User, Group, Service, Environment, Process, Registry).
Eine sehr universelle Ressource ist die „Script“-Ressource. Mit dieser kann man beliebige PowerShell-Skripte in einer DSC-Datei verwenden und so auch Aktionen ermöglichen, die nicht durch eine der bestehenden Ressourcen abgedeckt sind.
Die Ressourcentypen sind erweiterbar. Zusätzliche Ressourcentypen gibt es z.B. hier:
gallery.technet.microsoft.com
und
github.com/smurawski/DSC-Contrib.
Man kann auch selbst eigene Ressourcentypen schreiben.
Eigenschaften eines Ressourcentyps
Ressourcentypen haben Eigenschaften, die die Arbeit der Ressource steuern. Die Eigenschaften werden gemäß der Syntax Name="Wert" zugewiesen.
Alle Ressourcentypen haben folgende gemeinsamen Eigenschaften:
Ensure="Present" oder "Absent": Diese Eigenschaft sorgt dafür, dass eine Konfiguration durchgesetzt (wenn sie nicht vorhanden ist) oder rückgängig gemacht wird (wenn sie vorhanden ist).
DependsOn="[Ressourcentypename]RessourceName" ist ein Verweis auf einen Ressourcenblock in derselben DSC-Datei, der erfüllt sein muss, bevor dieser Ressourcenblock ausgeführt werden kann. Leider kann man hier nicht mehrere Ressourcenblöcke angeben (zumindest ist bei Microsoft nicht dokumentiert, wie es gehen soll, und zahlreiche Versuche mit verschiedenen Syntaxformen haben nicht zum Ziel geführt).
Aufbau einer DSC-Datei
Eine DSC-Datei beginnt mit dem Schlüsselwort configuration, gefolgt von dem im Rahmen der gültigen PowerShell-Bezeichner frei wählbaren Namen der Konfiguration. In geschweiften Klammern folgt ein DSC-Knoten (engl. Nodes) mit Verweis auf einen Rechner. Innerhalb der DSC-Knoten gibt es einen oder mehrere DSC-Ressourcenblöcke. Jeder Ressourcenblock bezieht sich auf einen Ressourcentyp und legt deren Eigenschaften fest. Der Ressourcenblock beginnt mit Ressourcennamen und dann einem im Rahmen der gültigen PowerShell-Bezeichner frei wählbaren Namen für den Block. Ein DSC-Knoteneintrag kann fehlen, d.h., die configuration { } kann direkt DSC-Ressourcenblöcke enthalten. Es darf auch mehrere DSC-Knoteneinträge in einer Datei geben. Es darf innerhalb einer Konfiguration und innerhalb eines DSC-Knoteneintrags mehrere Einträge für den gleichen Ressourcentyp geben. Jeder Ressourcenblock muss einen eindeutigen Namen haben, sonst kommt es zum Fehler „duplicate resource identifier“.
Ein erstes DSC-Beispiel
Das folgende Listing zeigt ein minimales Beispiel für eine DSC-Datei mit dem Konfigurationsnamen „D
SCE
rstesBeispiel“ mit einem DSC-Knoten und zwei DSC-Ressourcenblöcken mit Namen „RegEintrag1Erzeugen“ und „RegEintrag2Erzeugen“ für den Ressourcentyp Registry, die dafür sorgen, dass es zwei Windows-
Registrierungsdatenbank
einträge „Inhaber“ und „Produkte“ im Schlüssel „HKEY
LOCAL
MACHINE\SOFTWARE\www.IT-Visions.de“ gibt. Diese Datei kann man unter beliebigem Namen ablegen, gefolgt von der Dateinamenserweiterung .ps1. Es bietet sich an, die Datei wie die Konfiguration zu benennen, also D
SCE
rstesBeispiel.ps1.
"Lade DSC…"
configuration D
SCE
rstesBeispiel
{
node
Server114
{
Registry RegEintrag1Erzeugen
{
Ensure ="Present"
Key ="HKEY
LOCAL
MACHINE\SOFTWARE\www.IT-Visions.de"
ValueName="Inhaber"
ValueData="
Dr. Holger Schwichtenberg
"
}
Registry RegEintrag2Erzeugen
{
Ensure ="Present"
Key ="HKEY
LOCAL
MACHINE\SOFTWARE\www.IT-Visions.de"
ValueName="Produkte"
ValueData="Schulung,Beratung,Support"
}
}
}
"DSC ist geladen!"
Anwendung einer DSC-Datei
Um die DSC-Datei anzuwenden, sind drei Schritte notwendig:
1. Die DSC-Datei muss ausgeführt werden wie eine normale PowerShell-Skriptdatei (in der
ISE
oder an der Kommandozeile). Normalerweise erhält man dabei keine Ausgabe. In dem Fall des obigen ersten Beispiels erhält man eine Ausgabe, weil vor und nach dem configuration-Block noch Ausgabebefehle stehen.
2. Nun kompiliert man die Konfiguration aus, indem man den Namen der Konfiguration an der Konsole wie den Namen einer PowerShell-Funktion ausführt. Das Ergebnis ist eine
WMI
-
MOF
-Datei. Die PowerShell antwortet mit dem Namen der erzeugten
MOF
-Datei. Dies ist im obigen Fall, wo es keinen dedizierten DSC-Knoten gibt, der Name „localhost.mof“. Die Datei landet in einem Unterverzeichnis, das so heißt wie die Konfiguration. Man sollte dabei aufpassen, wo man mit dem aktuellen Verzeichnis steht, denn die Datei wird relativ zum aktuellen Standort abgelegt.
3. Im letzten Schritt wird nun die kompilierte
MOF
-Datei ausgeführt und damit die Konfiguration angewendet. Dies erfolgt mit dem
Commandlet
Start-DscConfiguration erneut unter Angabe des Konfigurationsnamens
Start-DscConfiguration D
SCE
rstesBeispiel
-Wait –Verbose.
Normalerweise wird die Konfiguration in einem Hintergrundjob ausgeführt, sodass der Benutzer nichts davon sieht, sondern nur den Job-Status abfragen kann. Mit –Wait wird bestimmt, dass die Konfiguration interaktiv gestartet wird. –Verbose sorgt wie immer für eine detaillierte Ausgabe.
DSC-Module
DSC-Ressourcen können in DSC-Module gebündelt werden. DSC-Module bekommt man in der
PowerShell Gallery
www.powershellgallery.com/packages.
Viele DSC-Module werden von der DSC Community herausgegeben:
dsccommunity.org
Querverweise zu anderen Begriffen im Lexikon
Windows Package Manager (WinGet)
Registrierungsdatenbank
PowerShell Gallery
Commandlet (Cmdlet)
Prozesse
Windows Package Manager (WinGet)
Node.js (node)
Microsoft Operational Framework (MOF)
Windows Management Instrumentation (WMI)
PowerShell Integrated Scripting Environment (ISE)
Security Configuration Editor (SCE)
Beratung & Support
Anfrage für Beratung/Consulting zu DESIRED STATE CONFIGURATION DSC
Gesamter Beratungsthemenkatalog
Technischer Support zum Thema DESIRED STATE CONFIGURATION DSC
Schulungen
Desired State Configuration (DSC)
Datenmodellieren für und mit Power BI sowie Analysis Services Tabular
.NET-Softwarearchitektur (Architektur von .NET-Anwendungen)
Active Directory-Administration mit der Windows PowerShell
Agile Softwarearchitektur
Android-App-Entwicklung mit Java (Android-Programmierung mit Java)
Apps für iOS (iPhone und iPad) entwickeln mit Xcode und Objective-C
Design und Usability von modernen Software-Benutzeroberflächen (Software-Ergonomie/Benutzungsfreundlichkeit/User Interaction Design/User Experience)
HTML 5.x-Basiswissen (Grundlagen für Einsteiger)
Ionic und Capacitor
LEGO® Serious Play®-Methode
Microsoft Azure-Cloud-Dienste verwalten mit der Windows PowerShell
Microsoft Visio
MySQL oder MariaDB: Fortgeschrittenes Wissen
NHibernate - objektrelationales Mapping (ORM) mit .NET
Power Platform mit Microsoft Dynamics 365
Praktische Architekturdokumentation - Softwarearchitekturen festhalten und kommunizieren
Windows 8/Windows 8.1 für Anwender/Benutzer (Umstieg von Windows XP auf Windows 8)
Windows PowerShell 5.1/PowerShell 7.x für System- und Netzwerkadministratoren
Windows PowerShell 5.1/PowerShell 7.x für System- und Netzwerkadministratoren (4-Tages-Agenda des öffentlichen Seminars)
Windows Server 2016 Update (Update-Schulung mit den Neuheiten für Administratoren gegenüber Windows Server 2012 R2)
Windows Server-Administration mit der Windows PowerShell, insbesondere Active Directory-Administration
Anfrage für eine individuelle Schulung zum Thema DESIRED STATE CONFIGURATION DSC
Gesamter Schulungsthemenkatalog
Fachbücher
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr