Konfigurieren des lokalen Konfigurations-Managers

Gilt für: Windows PowerShell 5.0

Der lokale Konfigurations-Manager (Local Configuration Manager, LCM) ist die Engine von DSC (Desired State Configuration, Konfiguration des gewünschten Zustands). Der LCM wird auf allen Zielknoten ausgeführt und ist zuständig für das Analysieren und Anwenden von Konfigurationen, die zum Knoten gesendet werden. Dieses Modul ist auch für verschiedene andere DSC-Aspekte zuständig, wie z. B. die folgenden.

  • Bestimmen des Aktualisierungsmodus (Push- oder Pullmodus).
  • Angeben, wie oft ein Knoten Konfigurationen abruft und anwendet.
  • Verknüpfen des Knotens mit dem Pulldienst.
  • Angeben von Teilkonfigurationen.

Sie verwenden eine spezielle Art von Konfiguration zum Konfigurieren des LCM, um jedes dieser Verhalten anzugeben. In den folgenden Abschnitten wird beschrieben, wie der LCM konfiguriert wird.

Mit Windows PowerShell 5.0 wurden neue Einstellungen für das Verwalten von lokalen Konfigurations-Managern eingeführt. Informationen zum Konfigurieren des LCMs in Windows PowerShell 4.0 finden Sie unter Konfigurieren des lokalen Konfigurations-Managers in früheren Versionen von Windows PowerShell.

Schreiben und Anwenden einer LCM-Konfiguration

Zum Konfigurieren des LCM müssen Sie einen besonderen Typ von Konfiguration zur Anwendung von LCM-Einstellungen erstellen und ausführen. Zum Angeben der LCM-Konfiguration verwenden Sie das „DscLocalConfigurationManager“-Attribut. Das folgende Beispiel zeigt eine einfache Konfiguration, die den LCM auf den Pushmodus festgelegt.

[DSCLocalConfigurationManager()]
configuration LCMConfig
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Push'
        }
    }
}

Der Prozess zum Anwenden von Einstellungen auf LCM ähnelt dem Anwenden einer DSC-Konfiguration. Sie erstellen eine LCM-Konfiguration, kompilieren sie in einer MOF-Datei und wenden sie auf den Knoten an. Im Gegensatz zu DSC-Konfigurationen wird eine LCM-Konfiguration nicht durch Aufrufen des Cmdlets Start-DscConfiguration angewendet. Stattdessen rufen Sie Set-DscLocalConfigurationManager auf und geben dabei den Pfad zur MOF-Datei mit der LCM-Konfiguration als Parameter an. Nach dem Anwenden der LCM-Konfiguration können Sie die Eigenschaften des LCM durch Aufrufen des Cmdlets Get-DscLocalConfigurationManager anzeigen.

Eine LCM-Konfiguration kann nur Blöcke für eine begrenzte Menge von Ressourcen enthalten. Im vorherigen Beispiel ist Settings die einzige aufgerufene Ressource. Es folgen die anderen verfügbaren Ressourcen:

  • ConfigurationRepositoryWeb: Gibt einen HTTP-Pulldienst für Konfigurationen an.
  • ConfigurationRepositoryWeb: Gibt eine SMB-Freigabe für Konfigurationen an.
  • ResourceRepositoryWeb: Gibt einen HTTP-Pulldienst für Module an.
  • ResourceRepositoryWeb: Gibt eine SMB-Freigabe für Module an.
  • ReportServerWeb: Gibt einen HTTP-Pulldienst an, an den Berichte gesendet werden.
  • PartialConfiguration: Stellt Daten für die Aktivierung von Teilkonfigurationen bereit.

Grundlegende Einstellungen

Außer der Angabe von Endpunkten/Pfaden und Teilkonfigurationen für Pulldienste werden alle Eigenschaften des LCM in einem Settings-Block konfiguriert. Die folgenden Eigenschaften sind in einem Settings-Block verfügbar:

Eigenschaft Typ BESCHREIBUNG
ActionAfterReboot Zeichenfolge Gibt an, was nach einem Neustart während der Anwendung einer Konfiguration passiert. Die möglichen Werte sind ContinueConfiguration und StopConfiguration.
  • ContinueConfiguration: Nach dem Neustart des Computers wird das Anwenden der aktuellen Konfiguration fortgesetzt. Dies ist der Standardwert.
  • StopConfiguration: Nach dem Neustart des Computers wird die aktuelle Konfiguration beendet.
AllowModuleOverwrite bool $TRUE, wenn neue vom Pulldienst heruntergeladene Konfigurationen die alten Konfigurationen auf dem Zielknoten überschreiben dürfen. Andernfalls „$FALSE“.
CertificateId Zeichenfolge Der Fingerabdruck eines Zertifikats zur Sicherung von Anmeldeinformationen, die in einer Konfiguration übergeben werden. Weitere Informationen finden Sie unter Möchten Sie Anmeldeinformationen in Windows PowerShell DSC schützen?.
Hinweis: Dies wird bei Verwendung des Azure Automation DSC-Pulldiensts automatisch verwaltet.
ConfigurationDownloadManagers CimInstance[] Veraltet. Verwenden Sie die Blöcke ConfigurationRepositoryWeb und ConfigurationRepositoryShare zum Definieren von Pulldienstendpunkten für Konfigurationen.
ConfigurationID Zeichenfolge Für die Abwärtskompatibilität mit älteren Pulldienstversionen. Eine GUID, die die Konfigurationsdatei identifiziert, die von einem Pulldienst abgerufen werden soll. Der Knoten ruft Konfigurationen vom Pulldienst ab, wenn der Name der MOF-Konfigurationsdatei „ConfigurationID.mof“ lautet.
Hinweis: Wenn Sie diese Eigenschaft festlegen, kann der Knoten nicht mithilfe von RegistrationKey bei einem Pulldienst registriert werden. Weitere Informationen finden Sie unter Einrichten eines Pullclients mit Konfigurationsnamen.
ConfigurationMode Zeichenfolge Gibt an, wie der LCM die Konfiguration tatsächlich auf die Zielknoten anwendet. Mögliche Werte sind ApplyOnly, ApplyAndMonitor und ApplyAndAutoCorrect.
  • ApplyOnly: DSC wendet die Konfiguration an und führt keine weiteren Schritte aus, es sei denn, eine neue Konfiguration wird per Push auf den Zielknoten übertragen oder per Pull von einem Dienst abgerufen. Nach der ersten Anwendung einer neuen Konfiguration führt DSC keine Überprüfung auf Abweichungen von einem zuvor konfigurierten Zustand durch. Beachten Sie, dass DSC versucht, die Konfiguration anzuwenden, bis dies erfolgreich passiert ist, bevor ApplyOnly wirksam wird.
  • ApplyAndMonitor: Dies ist der Standardwert. Der LCM wendet alle neuen Konfigurationen an. Nach der ersten Anwendung einer neuen Konfiguration meldet DSC Abweichungen in Protokollen, wenn der Zielknoten vom gewünschten Zustand abweicht. Beachten Sie, dass DSC versucht, die Konfiguration anzuwenden, bis dies erfolgreich passiert ist, bevor ApplyAndMonitor wirksam wird.
  • ApplyAndAutoCorrect: DSC wendet neue Konfigurationen an. Wenn der Zielknoten nach der ersten Anwendung einer neuen Konfiguration vom gewünschten Zustand abweicht, meldet DSC die Abweichung in Protokollen und wendet dann die aktuelle Konfiguration an.
ConfigurationModeFrequencyMins UInt32 Gibt (in Minuten) an, wie oft die aktuelle Konfiguration überprüft und angewendet wird. Diese Eigenschaft wird ignoriert, wenn die „ConfigurationMode“-Eigenschaft auf „ApplyOnly“ festgelegt ist. Der Standardwert ist 15.
DebugMode Zeichenfolge Mögliche Werte sind None, ForceModuleImport und All.
  • Bei Festlegung auf None werden zwischengespeicherte Ressourcen verwendet. Dies ist die Standardeinstellung, die in Produktionsszenarien verwendet werden sollte.
  • Das Festlegen auf ForceModuleImport bewirkt, dass der LCM DSC-Ressourcenmodule erneut lädt, auch wenn sie zuvor bereits geladen und zwischengespeichert wurden. Dies beeinträchtigt die Leistung von DSC-Vorgängen, da jedes Modul bei Verwendung neu geladen wird. In der Regel wird dieser Wert beim Debuggen einer Ressource verwendet.
  • In dieser Version ist All identisch mit ForceModuleImport.
RebootNodeIfNeeded bool Legen Sie für diese Option $true fest, um Ressourcen das Neustarten des Knotens mithilfe des $global:DSCMachineStatus-Flags zu ermöglichen. Andernfalls müssen Sie den Knoten für jede Konfiguration manuell neu starten, die dies erfordert. Standardwert: $false. Um diese Einstellung zu verwenden, wenn eine Neustartbedingung von einer anderen Komponente als von DSC in Kraft gesetzt wird (z.B. Windows Installer), kombinieren Sie diese Einstellung mit der PendingReboot-Ressource im ComputerManagementDsc-Modul.
RefreshMode Zeichenfolge Gibt an, wie der LCM Konfigurationen abruft. Die möglichen Werte sind Disabled, Push und Pull.
  • Disabled: DSC-Konfigurationen werden für diesen Knoten deaktiviert.
  • Push: Konfigurationen werden gestartet, indem das Cmdlet Start-DscConfiguration aufgerufen wird. Die Konfiguration wird sofort auf den Knoten angewendet. Dies ist der Standardwert.
  • Pull: Der Knoten ist so konfiguriert, dass regelmäßig eine Überprüfung auf Konfigurationen von einem Pulldienst oder SMB-Pfad erfolgt. Wenn diese Eigenschaft auf Pull festgelegt ist, müssen Sie in einem ConfigurationRepositoryWeb- oder ConfigurationRepositoryShare-Block einen HPPT-Pfad (Dienst) oder einen SMB-Pfad (Freigabe) angeben.
RefreshFrequencyMins UInt32 Das Zeitintervall (in Minuten), in dem der LCM einen Pulldienst auf aktualisierte Konfigurationen abfragt und die lokale Konfiguration auf Drift überprüft. Die Konfiguration wird unabhängig davon angewendet, ob ein Update heruntergeladen wurde. Dieser Wert wird ignoriert, wenn der LCM nicht im Pullmodus konfiguriert ist. Der Standardwert ist 30.
ReportManagers CimInstance[] Veraltet. Verwenden Sie ReportServerWeb-Blöcke, um einen Endpunkt zum Senden von Berichtsdaten an einen Pulldienst zu definieren.
ResourceModuleManagers CimInstance[] Veraltet. Verwenden Sie die Blöcke ResourceRepositoryWeb und ResourceRepositoryShare zum Definieren von HTTP-Endpunkten bzw. SMB-Pfaden für den Pulldienst.
PartialConfigurations CimInstance Nicht implementiert. Darf nicht verwendet werden.
StatusRetentionTimeInDays UInt32 Anzahl der Tage, die der LCM den Status der aktuellen Konfiguration beibehält.

Hinweis

Der LCM startet den ConfigurationModeFrequencyMins-Zyklus auf Grundlage folgender Ereignisse:

  • Eine neue Metakonfiguration mit einer Änderung an ConfigurationModeFrequencyMins wird mithilfe von Set-DscLocalConfigurationManager angewendet.
  • Der Computer wird neu gestartet

Bei Bedingungen, unter denen es beim Timerprozess zu einem Absturz kommt, der innerhalb von 30 Sekunden erkannt wird, wird der Zyklus neu gestartet. Ein gleichzeitiger Vorgang könnte den Start des Zyklus verzögern; wenn die Dauer dieses Vorgangs länger ist als die konfigurierte Zyklushäufigkeit, startet der nächste Timer nicht. Beispiel: Die Metakonfiguration ist auf eine Pullhäufigkeit von 15 Minuten konfiguriert, und ein Pull wird zum Zeitpunkt t1 ausgeführt. Der Knoten kann seine Aufgaben 16 Minuten lang nicht beenden. Der erste 15-Minuten-Zyklus wird ignoriert, und der nächste Pull wird zum Zeitpunkt t1+15+15 ausgeführt.

Die ursprüngliche Absicht in Pullszenarien war, dass RefreshFrequencyMins auf einen längeren Zeitraum als ConfigurationModeFrequencyMins festgelegt wird. Lokale Konfigurationen werden in erster Linie von ConfigurationModeFrequencyMins verwaltet, um einen Drift der Konfiguration zu vermeiden. RefreshFrequencyMins wird verwendet, um die vom Administrator vorgenommenen tatsächlichen Konfigurationsänderungen zu verfolgen.

Pulldienst

Die LCM-Konfiguration unterstützt die folgenden Typen von Pulldienstendpunkten:

  • Konfigurationsserver: Ein Repository für DSC-Konfigurationen. Definieren Sie Konfigurationsserver mithilfe der Blöcke ConfigurationRepositoryWeb (für webbasierte Server) und ConfigurationRepositoryShare (für SMB-basierte Server).
  • Ressourcenserver: Ein Repository für DSC-Ressourcen, verpackt als PowerShell-Module. Definieren Sie Ressourcenserver mithilfe der Blöcke ResourceRepositoryWeb (für webbasierte Server) und ResourceRepositoryShare (für SMB-basierte Server).
  • Berichtsserver: Dienst, an den DSC Berichtsdaten sendet. Definieren Sie Berichtsserver mithilfe von ReportServerWeb-Blöcken. Ein Berichtsserver muss ein Webdienst sein.

Weitere Informationen zu Pulldiensten finden Sie unter Desired State Configuration – Pulldienst.

Konfigurationsserverblöcke

Zum Definieren eines webbasierten Konfigurationsservers erstellen Sie einen ConfigurationRepositoryWeb-Block. Ein ConfigurationRepositoryWeb-Block definiert die folgenden Eigenschaften.

Eigenschaft Typ BESCHREIBUNG
AllowUnsecureConnection bool Legen Sie diese Einstellung auf $TRUE fest, um Verbindungen zwischen Knoten und Server ohne Authentifizierung zu erlauben. Bei Festlegung auf $FALSE ist eine Authentifizierung erforderlich.
CertificateId Zeichenfolge Der Fingerabdruck eines Zertifikats zur Authentifizierung beim Server.
ConfigurationNames String[] Array der Namen von Konfigurationen, die per Pull vom Zielknoten abgerufen werden. Diese werden nur verwendet, wenn der Knoten über einen RegistrationKey beim Pulldienst registriert ist. Weitere Informationen finden Sie unter Einrichten eines Pullclients mit Konfigurationsnamen.
RegistrationKey Zeichenfolge GUID, die den Knoten beim Pulldienst registriert. Weitere Informationen finden Sie unter Einrichten eines Pullclients mit Konfigurationsnamen.
ServerURL Zeichenfolge URL des Konfigurationsdiensts.
ProxyURL* Zeichenfolge Die URL des HTTP-Proxys, der bei der Kommunikation mit dem Konfigurationsdienst verwendet werden soll.
ProxyCredential* pscredential Anmeldeinformation, die für den HTTP-Proxy verwendet werden soll.

Hinweis

Wird in den Windows-Versionen 1809 und höher unterstützt.

Ein Beispielskript, das die Konfiguration des Werts „ConfigurationRepositoryWeb“ für lokale Knoten vereinfacht, steht unter Generieren von DSC-Metakonfigurationen zur Verfügung.

Zum Definieren eines SMB-basierten Konfigurationsservers erstellen Sie einen ConfigurationRepositoryShare-Block. Ein ConfigurationRepositoryShare-Block definiert die folgenden Eigenschaften.

Eigenschaft Typ BESCHREIBUNG
Anmeldeinformationen MSFT_Credential Anmeldeinformationen zum Authentifizieren bei der SMB-Freigabe.
SourcePath Zeichenfolge Pfad der SMB-Freigabe.

Ressourcenserverblöcke

Zum Definieren eines webbasierten Ressourcenservers erstellen Sie einen ResourceRepositoryWeb-Block. Ein ResourceRepositoryWeb-Block definiert die folgenden Eigenschaften.

Eigenschaft Typ BESCHREIBUNG
AllowUnsecureConnection bool Legen Sie diese Einstellung auf $TRUE fest, um Verbindungen zwischen Knoten und Server ohne Authentifizierung zu erlauben. Bei Festlegung auf $FALSE ist eine Authentifizierung erforderlich.
CertificateId Zeichenfolge Der Fingerabdruck eines Zertifikats zur Authentifizierung beim Server.
RegistrationKey Zeichenfolge GUID, die den Knoten beim Pulldienst identifiziert.
ServerURL Zeichenfolge URL des Konfigurationsservers.
ProxyURL* Zeichenfolge Die URL des HTTP-Proxys, der bei der Kommunikation mit dem Konfigurationsdienst verwendet werden soll.
ProxyCredential* pscredential Anmeldeinformation, die für den HTTP-Proxy verwendet werden soll.

Hinweis

Wird in den Windows-Versionen 1809 und höher unterstützt.

Ein Beispielskript, das die Konfiguration des Werts „ResourceRepositoryWeb“ für lokale Knoten vereinfacht, steht unter Generieren von DSC-Metakonfigurationen zur Verfügung.

Zum Definieren eines SMB-basierten Ressourcenservers erstellen Sie einen ResourceRepositoryShare-Block. Ein ResourceRepositoryShare-Block definiert die folgenden Eigenschaften.

Eigenschaft Typ BESCHREIBUNG
Anmeldeinformationen MSFT_Credential Anmeldeinformationen zum Authentifizieren bei der SMB-Freigabe. Ein Beispiel für die Weitergabe von Anmeldeinformationen finden Sie unter Einrichten eines DSC-SMB-Pullservers.
SourcePath Zeichenfolge Pfad der SMB-Freigabe.

Berichtsserverblöcke

Zum Definieren eines Berichtsservers erstellen Sie einen ReportServerWeb-Block. Die Berichtsserverrolle ist nicht kompatibel mit dem SMB-basierten Pulldienst. Ein ReportServerWeb-Block definiert die folgenden Eigenschaften.

Eigenschaft Typ BESCHREIBUNG
AllowUnsecureConnection bool Legen Sie diese Einstellung auf $TRUE fest, um Verbindungen zwischen Knoten und Server ohne Authentifizierung zu erlauben. Bei Festlegung auf $FALSE ist eine Authentifizierung erforderlich.
CertificateId Zeichenfolge Der Fingerabdruck eines Zertifikats zur Authentifizierung beim Server.
RegistrationKey Zeichenfolge GUID, die den Knoten beim Pulldienst identifiziert.
ServerURL Zeichenfolge URL des Konfigurationsservers.
ProxyURL* Zeichenfolge Die URL des HTTP-Proxys, der bei der Kommunikation mit dem Konfigurationsdienst verwendet werden soll.
ProxyCredential* pscredential Anmeldeinformation, die für den HTTP-Proxy verwendet werden soll.

Hinweis

Wird in den Windows-Versionen 1809 und höher unterstützt.

Ein Beispielskript, das die Konfiguration des Werts „ReportServerWeb“ für lokale Knoten vereinfacht, steht unter Generieren von DSC-Metakonfigurationen zur Verfügung.

Teilkonfigurationen

Zum Definieren von Teilkonfigurationen erstellen Sie einen PartialConfiguration-Block. Weitere Informationen zu Teilkonfigurationen finden Sie unter DSC-Teilkonfigurationen. Ein PartialConfiguration-Block definiert die folgenden Eigenschaften.

Eigenschaft Typ BESCHREIBUNG
ConfigurationSource string[] Ein Array mit Namen von Konfigurationsservern, die zuvor in den Blöcken ConfigurationRepositoryWeb und ConfigurationRepositoryShare definiert wurden, aus denen die Teilkonfiguration per Pull abgerufen wird.
DependsOn string{} Eine Liste der Namen anderer Konfigurationen, die abgeschlossen sein müssen, bevor diese Teilkonfiguration angewendet wird.
BESCHREIBUNG Zeichenfolge Text zum Beschreiben der Teilkonfiguration.
ExclusiveResources string[] Array von Ressourcen, die ausschließlich für diese Teilkonfiguration gelten.
RefreshMode Zeichenfolge Gibt an, wie der LCM diese Teilkonfiguration abruft. Die möglichen Werte sind Disabled, Push und Pull.
  • Disabled: Diese Teilkonfiguration ist deaktiviert.
  • Push: Die Teilkonfiguration wird per Push auf den Knoten übertragen, indem das Cmdlet Publish-DscConfiguration aufgerufen wird. Nachdem alle Teilkonfigurationen für den Knoten von einem Dienst per Push oder Pull abgerufen wurden, kann die Konfiguration durch Aufrufen von Start-DscConfiguration –UseExisting gestartet werden. Dies ist der Standardwert.
  • Pull: Der Knoten ist so konfiguriert, dass regelmäßig eine Überprüfung auf Teilkonfigurationen von einem Pulldienst erfolgt. Wenn diese Eigenschaft auf Pull festgelegt ist, müssen Sie einen Pulldienst in der ConfigurationSource-Eigenschaft festlegen. Weitere Informationen zum Azure Automation-Pulldienst finden Sie unter Azure Automation DSC – Übersicht.
ResourceModuleSource string[] Array der Namen von Ressourcenservern, von denen erforderliche Ressourcen für diese Teilkonfiguration heruntergeladen werden. Diese Namen müssen auf Dienstendpunkte verweisen, die zuvor in den Blöcken ResourceRepositoryWeb und ResourceRepositoryShare definiert wurden.

Hinweis

Teilkonfigurationen werden in Azure Automation DSC unterstützt. Es kann jedoch aus jedem Automation-Konto pro Knoten nur eine Konfiguration abgerufen werden.

Weitere Informationen

Konzepte

Windows PowerShell DSC – Übersicht

Erste Schritte mit Azure Automation DSC

Weitere Ressourcen

Set-DscLocalConfigurationManager

Einrichten eines Pullclients mit Konfigurationsnamen