Inhaltsübersicht
PowerShell DSC ist eine Verwaltungsplattform in PowerShell, mit der Sie Ihre IT- und Entwicklungsinfrastruktur als Konfiguration als Code verwalten können. Da DSC eine deklarative Syntax und PowerShell als Basis verwendet, wurde es schnell zu einer der beliebtesten Konfiguration-als-Code-Plattformen.
Mit dem Zunahme der von der Gemeinschaft gebauten Module die die Funktionalität verbessern, wurden einige Einschränkungen und Herausforderungen eingeführt. Die größten sind wahrscheinlich die Komplexität großer Konfigurationen und die Versionierung von DSC-Modulen und -Konfigurationen.
Um DSC-Konfigurationen bereitzustellen und auf Hunderten von Systemen zu pflegen, wenn Sie ein Unternehmen sind, oder um dieselben Basiskonfigurationen für verschiedene Kunden wiederzuverwenden, wenn Sie ein MSP sind, sollten Sie einige Baseline-Prozesse entwickeln. ✅
Wie kann XOAP Ihnen helfen?
Durch die Kombination verschiedener Funktionen können Sie diese Herausforderungen lösen durch drei einfache Schritte:
- Erstellen Sie ein DSC-Basismodul mit unserem DSC-Modul-Vorlage mit allen Einstellungen, die Sie als Baseline bereitstellen möchten.
- Erstellen Sie Konfigurationen, indem Sie DSC-Basisressourcen und spezifische Konfigurationen für verschiedene Abteilungen oder Kunden kombinieren.
- Stellen Sie Konfigurationen bereit und installieren Sie Anwendungen, indem Sie Konfigurationsgruppen und Anwendungsrollen kombinieren und Ihr System (Knoten) in der jeweiligen Gruppe registrieren.
Bevor wir erklären, wie man alles mit XOAPBitte prüfen Sie das folgende Schema, das die Logik und die Beziehungen zwischen dem Basismodul und den Konfigurationen darstellt:

Konfigurationen sind deklarative PowerShell-Skripte, die Ressourceninstanzen definieren und konfigurieren.
Ressourcen sind der Teil von DSC, der für die Umsetzung sorgt. Sie enthalten den Code, der das Ziel einer Konfiguration in den angegebenen Zustand versetzt und hält.
In realen Situationen können Konfigurationen lang und komplex werden, da sie viele verschiedene Ressourcen aufrufen und eine große Anzahl von Eigenschaften festlegen. Um diese Komplexität zu bewältigen, können Sie eine Windows PowerShell Desired State Configuration (DSC)-Konfiguration als Ressource für andere Konfigurationen, so genannte DSC-Module, verwenden.
Module mehrere Ressourcen kombinieren, die dynamisch in verschiedenen Konfigurationen integriert werden können.
Das Basismodul im Diagramm definiert Ressourcen, die bestimmte Einstellungen für alle Kunden oder Abteilungen festlegen. Diese Ressourcen können wiederverwendet und separat in verschiedene DSC-Konfigurationen für bestimmte Anwendungsfälle integriert werden.
Durch die Verwendung von Modulen zur Erstellung spezifischer Ressourcen für bestimmte Anwendungsfälle werden diese Module wiederverwendbar und können dynamisch verschiedenen DSC-Konfigurationen zugewiesen werden, die auf das Modul und die spezifische Ressource innerhalb dieses Moduls verweisen.
Mit diesem Ansatz haben wir eine Versionierung auf Modulebene. Wie können wir das mit XOAP zum Laufen bringen? Los geht's! ⬇️
Schritt 1: Erstellen eines DSC-Basismoduls
➡️ Um das Basismodul zu erstellen, können Sie unsere Vorlage verwenden verfügbar auf GitHub.
Laden Sie den Inhalt herunter, navigieren Sie zum Speicherort des Download-Ordners, ändern Sie den folgenden Befehl mit Ihren Werten und führen Sie ihn aus:
.\New-CompositeResource.ps1 -Modul XOAPModuleTemplateDSC'. -Version ‘0.0.1’ -Ressource DSCR-Ressource'.
Dadurch wird eine Ordnerstruktur wie die folgende erstellt:
XOAPModuleTemplate
|
|_0.0.1
|
|_DSCR-Ressourcen
|_DSCResoursce
|
|_Beispiele
In der DSCResource finden Sie zwei Dateien: DSCResoursce.psd1 und DSCResoursce.schema.psm1.
Ändern Sie die Datei DSCResoursce.schema.psm1. und fügen Sie Ihren DSC-Konfigurationscode darin ein.
Beispiel:
Konfiguration 'XOAPRemoteDesktopServicesDSC'
{
Import-DSCResource -Module 'XOAPRemoteDesktopServicesDSC' -Name 'XOAP_RDSQuickStartConfiguration' -ModuleVersion '0.0.1'
param
(
[string[]]$ConnectionBrokerServerName = 'connectionbroker.domain.com'
[string[]]$SessionHostServerName = 'sessionhost.domain.com'
[string[]]$AllowedUserGroup = 'domain\group'
)
Node'XOAPRemoteDesktopServicesDSC'
{
XOAP_RDSQuickStartConfiguration 'Beispiel'
{
VerbindungsBrokerServerName = $ConnectionBrokerServerName
SessionHostServerName = $$SessionHostServerName
AllowedUserGroup = $$AllowedUserGroup
}
}
}
XOAPRemoteDesktopServicesDSC -OutputPath 'C:\XOAPRemoteDesktopServicesDSC'
Mit dem Befehl Import-DSCResource können Sie bestimmte Einstellungen aus anderen Modulen laden, indem Sie den Modulnamen, den Ressourcennamen und die Version des Moduls angeben.
Weitere Informationen über das Schreiben von DSC-Composite-Ressourcen finden Sie unter hier.
Nachdem Sie das Modul erstellt haben, müssen Sie es in Ihren XOAP-Arbeitsbereich hochladen. Weitere Informationen dazu finden Sie in unserer Dokumentationsseite.
Schritt 2: Konfigurationen erstellen
Als Nächstes erstellen Sie Konfigurationen, die Ihre DSC-Basisressourcen und spezifische Konfigurationen für verschiedene Abteilungen oder Kunden kombinieren.
Um Konfigurationen zu erstellen, navigieren Sie zum Configuration Management-Modul und klicken auf +.

Erstellen Sie eine Konfiguration für Ihre Abteilung oder Ihren Kunden unter Verwendung von Ressourcen aus dem hochgeladenen Modul und kombinieren Sie sie mit anderen Modulen.
Klicken Sie im Konfigurationsassistenten auf "Ressourcen hinzufügen", wählen Sie das Modul, die Version und die Ressource aus. Geben Sie unter "Neue Ressource erstellen" die erforderlichen Daten ein:

Wenn Sie alle Daten eingegeben haben, klicken Sie auf Speichern Sie um die Ressource zur Konfiguration hinzuzufügen.
Um eine Konfiguration zu erstellen, klicken Sie auf Speichern Sie und geben Sie die Versionsinformationen ein. Klicken Sie im Fenster "Konfiguration speichern" auf Speichern Sie wenn Sie bereit sind.

Weitere Informationen über die Verwendung des Konfigurationsassistenten finden Sie unter in unseren Unterlagen.
Schritt 3: Konfigurationen zuweisen
Um eine Konfiguration mehreren Systemen (Knoten) zuzuweisen, verwenden Sie "Gruppen". Um eine neue Gruppe zu erstellen, navigieren Sie zu Configuration Management > Gruppen und klicken auf +.

Im Fenster "Gruppe hinzufügen" geben Sie den Namen der Gruppe ein und wählen eine "Konfiguration", eine bestimmte "Version" und eine "Richtlinie". Wenn Sie Anwendungen auf den Systemen installieren möchten, können Sie auch eine "Anwendungsrolle" auswählen.

Wenn Sie das Registrierungsskript oder den Registrierungsbefehl auf den Knoten ausführen, können Sie sie der Gruppe hinzufügen. Die Konfiguration wird dann übernommen.

Für weitere Informationen besuchen Sie diese Dokumentationsseite.
Konfigurationen auf dem neuesten Stand halten
Wie kann man die Konfigurationen auf dem neuesten Stand halten, oder besser noch, wie kann man sie pflegen?
Wenn Sie kundenbezogene Konfigurationen aktualisieren müssen, navigieren Sie zu "Konfigurationen", suchen Sie die entsprechende Konfiguration und klicken Sie auf das Aktionsmenü, um bearbeiten es.

Jede gespeicherte Änderung an einer Konfiguration erzeugt eine neue Version. Diese Version kann den zuvor erstellten Gruppen zugewiesen werden. Sobald Sie die Konfigurationsversion innerhalb der Gruppe aktualisieren, die zugewiesenen Knoten aktualisieren ihre Konfigurationen auf der Grundlage des in der zugewiesenen Richtlinie angegebenen Aktualisierungsintervalls.
Auf diese Weise können Sie bestimmte Versionen einer Konfiguration einer Gruppe zuordnen und haben die Kontrolle darüber, welche Einstellungen angewendet werden. Durch die Erstellung verschiedener Gruppen für Test, Abnahme und Produktion können Sie einen Prozess für die Bereitstellung von Änderungen schaffen.

Wenn Sie Ihr Basismodul aktualisiert und eine neue Version hochgeladen haben, navigieren Sie zur Konfiguration und wählen Sie im Aktionsmenü Neu kompilieren.

Daraufhin wird ein Fenster "Neu kompilieren" geöffnet, in dem Sie die neue Version Ihres Moduls auswählen können.

Beim erneuten Kompilieren wird automatisch eine neue Version der Konfiguration gespeichert, in die alle aktualisierten Ressourcen des Moduls integriert werden. Folgen Sie den oben beschriebenen Schritten, um die Konfigurationsversion in Ihren Gruppen zu aktualisieren.
Verbessern Sie Ihren Prozess noch heute
XOAP ermöglicht Ihnen einfache Erstellung modularer und dynamischer KonfigurationenDie Kombination von Ressourcen aus einem Basismodul mit kunden- oder abteilungsspezifischen Modulen.
Dies minimiert menschliche Fehler und ermöglicht einen klaren Konfigurationsmanagementprozess mit definierten Testverfahren sowie einfache Aktualisierungs- und Rollback-Funktionen.
Wenn Sie mehr erfahren möchten oder zusätzliche Hilfe für den Einstieg in bestimmte Anwendungsfälle benötigen, können Sie eine Demo buchen. 🙌