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.
|
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.
|
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.
|
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.
|
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.
|
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