De lokale Configuration Manager

Van toepassing op: Windows PowerShell 5.0

Local Configuration Manager (LCM) is de engine van Desired State Configuration (DSC). LCM wordt uitgevoerd op elk doel-knooppunt en is verantwoordelijk voor het parseren en de uitvoering van configuraties die naar het knooppunt worden verzonden. Het is ook verantwoordelijk voor een aantal andere aspecten van DSC, waaronder de volgende.

  • De vernieuwingsmodus bepalen (push of pull).
  • Opgeven hoe vaak een knooppunt configuraties op pullt en opgeeft.
  • Het knooppunt koppelen aan de pull-service.
  • Gedeeltelijke configuraties opgeven.

U gebruikt een speciaal type configuratie om de LCM te configureren om elk van deze gedragingen op te geven. In de volgende secties wordt beschreven hoe u de LCM configureert.

Windows PowerShell 5.0 zijn nieuwe instellingen geïntroduceerd voor het beheren van lokale Configuration Manager. Zie Configuring the Local Configuration Manager in Previous Versions ofWindows PowerShell voor meer informatie over het configureren van LCM in Windows PowerShell 4.0.

Een LCM-configuratie schrijven en gebruiken

Als u de LCM wilt configureren, maakt u een speciaal type configuratie en voert u deze uit om LCM-instellingen toe te passen. Als u een LCM-configuratie wilt opgeven, gebruikt u het kenmerk DscLocalConfigurationManager. Hieronder ziet u een eenvoudige configuratie die de LCM in de push-modus in stelt.

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

Het proces van het toepassen van instellingen op LCM is vergelijkbaar met het toepassen van een DSC-configuratie. U maakt een LCM-configuratie, compileert deze naar een MOF-bestand en pas deze toe op het knooppunt. In tegenstelling tot DSC-configuraties voert u geen LCM-configuratie uit door de cmdlet Start-DscConfiguration aan te roepen. In plaats daarvan roept u Set-DscLocalConfigurationManageraan en geeft u het pad naar de LCM-configuratie-MOF op als parameter. Nadat u de LCM-configuratie hebt gemaakt, kunt u de eigenschappen van de LCM bekijken door de cmdlet Get-DscLocalConfigurationManager aan te roepen.

Een LCM-configuratie kan alleen blokken bevatten voor een beperkte set resources. In het vorige voorbeeld is de enige resource met de naam Instellingen. De andere beschikbare resources zijn:

  • ConfigurationRepositoryWeb: hiermee geeft u een HTTP-pull-service voor configuraties op.
  • ConfigurationRepositoryShare: hiermee geeft u een SMB-share voor configuraties op.
  • ResourceRepositoryWeb: hiermee geeft u een HTTP-pull-service voor modules op.
  • ResourceRepositoryShare: hiermee geeft u een SMB-share voor modules op.
  • ReportServerWeb: hiermee geeft u een HTTP-pull-service op waar rapporten naar worden verzonden.
  • PartialConfiguration: biedt gegevens voor het inschakelen van gedeeltelijke configuraties.

Basisinstellingen

Naast het opgeven van pull-service-eindpunten/-paden en gedeeltelijke configuraties, worden alle eigenschappen van de LCM geconfigureerd in een Instellingen blok. De volgende eigenschappen zijn beschikbaar in een Instellingen blok.

Eigenschap Type Description
ActionAfterReboot tekenreeks Hiermee geeft u op wat er gebeurt na het opnieuw opstarten tijdens de toepassing van een configuratie. De mogelijke waarden zijn ContinueConfiguration en StopConfiguration.
  • ContinueConfiguratie: ga door met het toepassen van de huidige configuratie na het opnieuw opstarten van de machine. Dit is de standaardwaarde
  • StopConfiguration: stop de huidige configuratie na het opnieuw opstarten van de machine.
AllowModuleOverwrite booleaans $TRUE of nieuwe configuraties die van de pull-service zijn gedownload, de oude op het doel-knooppunt mogen overschrijven. Anders $FALSE.
CertificateID tekenreeks De vingerafdruk van een certificaat dat wordt gebruikt voor het beveiligen van referenties die worden doorgegeven in een configuratie. Zie Wilt u referenties beveiligen in Windows PowerShell Desired State Configuration? voor meer informatie.
Opmerking: dit wordt automatisch beheerd als u een Azure Automation pull-service van DSC gebruikt.
ConfigurationDownloadManagers CimInstance[] Verouderd. Gebruik de blokken ConfigurationRepositoryWeb en ConfigurationRepositoryShare om configuratie-pull-service-eindpunten te definiëren.
ConfigurationID tekenreeks Voor achterwaartse compatibiliteit met oudere pull-serviceversies. Een GUID die het configuratiebestand identificeert dat moet worden opgeslagen bij een pull-service. Het knooppunt haalt configuraties op de pull-service op als de naam van de configuratie-MOF ConfigurationID.mof heet.
Opmerking: Als u deze eigenschap in stelt, werkt het registreren van het knooppunt bij een pull-service met behulp van RegistrationKey niet. Zie Een pull-client instellenmet configuratienamen voor meer informatie.
ConfigurationMode tekenreeks Hiermee geeft u op hoe de LCM de configuratie daadwerkelijk op de doelknooppunten wordt toegepast. Mogelijke waarden __zijn ApplyOnly,__ApplyAndMonitor en ApplyAndAutoCorrect.
  • ApplyOnly: DSC past de configuratie toe en doet niets meer, tenzij een nieuwe configuratie naar het doel-knooppunt wordt pushen of wanneer een nieuwe configuratie uit een service wordt gehaald. Na de eerste toepassing van een nieuwe configuratie controleert DSC niet op afwijking van een eerder geconfigureerde status. Houd er rekening mee dat DSC probeert de configuratie toe te passen totdat deze is geslaagd voordat ApplyOnly van kracht wordt.
  • ApplyAndMonitor: dit is de standaardwaarde. De LCM past alle nieuwe configuraties toe. Als het doel-knooppunt na de eerste toepassing van een nieuwe configuratie van de gewenste status afdrijft, rapporteert DSC de discrepantie in logboeken. Houd er rekening mee dat DSC probeert de configuratie toe te passen totdat deze is geslaagd voordat ApplyAndMonitor van kracht wordt.
  • ApplyAndAutoCorrect: DSC past nieuwe configuraties toe. Als het doel-knooppunt na de eerste toepassing van een nieuwe configuratie van de gewenste status afdrijft, rapporteert DSC de discrepantie in logboeken en past de huidige configuratie vervolgens opnieuw toe.
ConfigurationModeFrequencyMins UInt32 Hoe vaak, in minuten, de huidige configuratie wordt gecontroleerd en toegepast. Deze eigenschap wordt genegeerd als de eigenschap ConfigurationMode is ingesteld op ApplyOnly. De standaardwaarde is 15.
DebugMode tekenreeks Mogelijke waarden zijn None, ForceModuleImport en All.
  • Ingesteld op Geen om resources in de cache te gebruiken. Dit is de standaardinstelling en moet worden gebruikt in productiescenario's.
  • Als u de instelling ForceModuleImport instelt, laadt de LCM alle DSC-resourcemodules opnieuw, zelfs als deze eerder zijn geladen en in de cache zijn opgeslagen. Dit heeft invloed op de prestaties van DSC-bewerkingen wanneer elke module opnieuw wordt geladen bij gebruik. Normaal gesproken gebruikt u deze waarde tijdens het debuggen van een resource
  • In deze release is Alles hetzelfde als ForceModuleImport
RebootNodeIfNeeded booleaans Stel dit in op $true om resources toe te staan het knooppunt opnieuw op te starten met behulp van de vlag $global:DSCMachineStatus . Anders moet u het knooppunt handmatig opnieuw opstarten voor elke configuratie die dit vereist. De standaardwaarde is $false. Als u deze instelling wilt gebruiken wanneer een voorwaarde voor opnieuw opstarten wordt veroorzaakt door iets anders dan DSC (zoals Windows Installer), combineert u deze instelling met de resource PendingReboot in de module ComputerManagementDsc.
RefreshMode tekenreeks Hiermee geeft u op hoe de LCM configuraties krijgt. De mogelijke waarden zijn 'Disabled', 'Push' en 'Pull'.
  • Uitgeschakeld: DSC-configuraties zijn uitgeschakeld voor dit knooppunt.
  • Push: configuraties worden gestart door de cmdlet Start-DscConfiguration aan te roepen. De configuratie wordt onmiddellijk toegepast op het knooppunt. Dit is de standaardwaarde.
  • Pull: Het knooppunt is geconfigureerd om regelmatig te controleren op configuraties van een pull-service of SMB-pad. Als deze eigenschap is ingesteld op Pull, moet u een HTTP-pad (service) of SMB-pad (share) opgeven in een ConfigurationRepositoryWeb- of ConfigurationRepositoryShare-blok.
RefreshFrequencyMins Uint32 Het tijdsinterval in minuten, waarbij de LCM een pull-service controleert om bijgewerkte configuraties op te halen en de lokale configuratie controleert op drift. De configuratie wordt toegepast, ongeacht of een update is gedownload. Deze waarde wordt genegeerd als de LCM niet is geconfigureerd in de pull-modus. De standaardwaarde is 30.
ReportManagers CimInstance[] Verouderd. Gebruik ReportServerWeb-blokken om een eindpunt te definiëren voor het verzenden van rapportagegegevens naar een pull-service.
ResourceModuleManagers CimInstance[] Verouderd. Gebruik de blokken ResourceRepositoryWeb en ResourceRepositoryShare om respectievelijk HTTP-eindpunten of SMB-paden voor pull-service te definiëren.
PartialConfigurations CimInstance Niet geïmplementeerd. Niet gebruiken.
StatusRetentionTimeInDays UInt32 Het aantal dagen dat de LCM de status van de huidige configuratie behoudt.

Notitie

De LCM start de cyclus ConfigurationModeFrequencyMins op basis van:

  • Een nieuwe metaconfig met een wijziging in ConfigurationModeFrequencyMins wordt toegepast met behulp van Set-DscLocalConfigurationManager
  • Een machine opnieuw opstarten

Voor elke voorwaarde waarbij het timerproces een crash heeft, wordt deze binnen 30 seconden gedetecteerd en wordt de cyclus opnieuw gestart. Een gelijktijdige bewerking kan de start van de cyclus vertragen. Als de duur van deze bewerking de geconfigureerde cyclusfrequentie overschrijdt, wordt de volgende timer niet gestart. De metaconfig wordt bijvoorbeeld geconfigureerd met een pull-frequentie van 15 minuten en er vindt een pull plaats op T1. Het knooppunt is 16 minuten lang niet klaar. De cyclus van de eerste 15 minuten wordt genegeerd en de volgende pull vindt plaats op T1+15+15.

De oorspronkelijke intentie in Pull-scenario's was dat RefreshFrequencyMins de is ingesteld op een langere tijd dan de ConfigurationModeFrequencyMins . Lokale configuraties worden voornamelijk door om configuratiedrift te voorkomen en worden gebruikt om bij te houden van de daadwerkelijke configuratiewijzigingen die door ConfigurationModeFrequencyMins de beheerder zijn RefreshFrequencyMins aangebracht.

Pull-service

LCM-configuratie ondersteunt het definiëren van de volgende typen pull-service-eindpunten:

  • Configuratieserver: een opslagplaats voor DSC-configuraties. Definieer configuratieservers met behulp van de blokken ConfigurationRepositoryWeb (voor webservers) en ConfigurationRepositoryShare (voor SMB-gebaseerde servers).
  • Resourceserver: een opslagplaats voor DSC-resources, verpakt als PowerShell-modules. Definieer resourceservers met behulp van de blokken ResourceRepositoryWeb (voor webservers) en ResourceRepositoryShare (voor SMB-servers).
  • Rapportserver: een service waar DSC rapportgegevens naar verzendt. Rapportservers definiëren met behulp van ReportServerWeb-blokken. Een rapportserver moet een webservice zijn.

Zie Pull-service voor meer informatie Desired State Configuration pull-service.

Configuratieserverblokken

Als u een webconfiguratieserver wilt definiëren, maakt u een ConfigurationRepositoryWeb-blok. Een ConfigurationRepositoryWeb definieert de volgende eigenschappen.

Eigenschap Type Description
AllowUnsecureConnection booleaans Stel deze $TRUE verbindingen van het knooppunt naar de server zonder verificatie toe te staan. Stel in op $FALSE verificatie vereist.
CertificateID tekenreeks De vingerafdruk van een certificaat dat wordt gebruikt voor verificatie bij de server.
ConfigurationNames Tekenreeks[] Een matrix met namen van configuraties die door het doel-knooppunt moeten worden gehaald. Deze worden alleen gebruikt als het knooppunt is geregistreerd bij de pull-service met behulp van een RegistrationKey. Zie Een pull-client instellenmet configuratienamen voor meer informatie.
RegistrationKey tekenreeks Een GUID die het knooppunt registreert bij de pull-service. Zie Een pull-client instellenmet configuratienamen voor meer informatie.
Serverurl tekenreeks De URL van de configuratieservice.
ProxyURL* tekenreeks De URL van de HTTP-proxy die moet worden gebruikt bij de communicatie met de configuratieservice.
ProxyCredential* pscredential Referentie die moet worden gebruikt voor de HTTP-proxy.

Notitie

Ondersteund in Windows versie 1809 en hoger.

Er is een voorbeeldscript beschikbaar om het configureren van de ConfigurationRepositoryWeb-waarde voor on-premises knooppunten te vereenvoudigen. Zie DSC-metaconfiguraties genereren

Als u een op SMB gebaseerde configuratieserver wilt definiëren, maakt u een ConfigurationRepositoryShare-blok. Een ConfigurationRepositoryShare definieert de volgende eigenschappen.

Eigenschap Type Description
Referentie MSFT_Credential De referentie die wordt gebruikt om te verifiëren bij de SMB-share.
Sourcepath tekenreeks Het pad van de SMB-share.

Resourceserverblokken

Als u een webresourceserver wilt definiëren, maakt u een ResourceRepositoryWeb-blok. Een ResourceRepositoryWeb definieert de volgende eigenschappen.

Eigenschap Type Description
AllowUnsecureConnection booleaans Stel deze $TRUE verbindingen van het knooppunt met de server zonder verificatie toe te staan. Stel in op $FALSE verificatie te vereisen.
CertificateID tekenreeks De vingerafdruk van een certificaat dat wordt gebruikt voor verificatie bij de server.
RegistrationKey tekenreeks Een GUID die het knooppunt aan de pull-service identificeert.
Serverurl tekenreeks De URL van de configuratieserver.
ProxyURL* tekenreeks De URL van de HTTP-proxy die moet worden gebruikt bij de communicatie met de configuratieservice.
ProxyCredential* pscredential Referentie die moet worden gebruikt voor de HTTP-proxy.

Notitie

Ondersteund in Windows versie 1809 en hoger.

Er is een voorbeeldscript beschikbaar om het configureren van de resourcerepositoryWeb-waarde voor on-premises knooppunten te vereenvoudigen. Zie DSC-metaconfiguraties genereren

Als u een op SMB gebaseerde resourceserver wilt definiëren, maakt u een ResourceRepositoryShare-blok. ResourceRepositoryShare definieert de volgende eigenschappen.

Eigenschap Type Description
Referentie MSFT_Credential De referentie die wordt gebruikt voor verificatie bij de SMB-share. Zie Een DSC SMB-pull-server instellen voor een voorbeeld van het doorgeven van referenties
Sourcepath tekenreeks Het pad van de SMB-share.

Rapportserverblokken

Als u een rapportserver wilt definiëren, maakt u een ReportServerWeb-blok. De rapportserverfunctie is niet compatibel met de pull-service op basis van SMB. ReportServerWeb definieert de volgende eigenschappen.

Eigenschap Type Description
AllowUnsecureConnection booleaans Stel deze $TRUE verbindingen van het knooppunt met de server zonder verificatie toe te staan. Stel in op $FALSE verificatie te vereisen.
CertificateID tekenreeks De vingerafdruk van een certificaat dat wordt gebruikt voor verificatie bij de server.
RegistrationKey tekenreeks Een GUID die het knooppunt aan de pull-service identificeert.
Serverurl tekenreeks De URL van de configuratieserver.
ProxyURL* tekenreeks De URL van de HTTP-proxy die moet worden gebruikt bij de communicatie met de configuratieservice.
ProxyCredential* pscredential Referentie die moet worden gebruikt voor de HTTP-proxy.

Notitie

Ondersteund in Windows versie 1809 en hoger.

Er is een voorbeeldscript beschikbaar om het configureren van de reportServerWeb-waarde voor on-premises knooppunten te vereenvoudigen. Zie DSC-metaconfiguraties genereren

Gedeeltelijke configuraties

Als u een gedeeltelijke configuratie wilt definiëren, maakt u een PartialConfiguration-blok. Zie DSC Partial configurations (Gedeeltelijke configuraties van DSC) voor meer informatie over gedeeltelijke configuraties. PartialConfiguration definieert de volgende eigenschappen.

Eigenschap Type Description
ConfigurationSource tekenreeks[] Een matrix met namen van configuratieservers, eerder gedefinieerd in de blokken ConfigurationRepositoryWeb en ConfigurationRepositoryShare, waaruit de gedeeltelijke configuratie wordt gehaald.
DependsOn tekenreeks{} Een lijst met namen van andere configuraties die moeten worden voltooid voordat deze gedeeltelijke configuratie wordt toegepast.
Description tekenreeks Tekst die wordt gebruikt om de gedeeltelijke configuratie te beschrijven.
ExclusiveResources tekenreeks[] Een matrix met resources die exclusief zijn voor deze gedeeltelijke configuratie.
RefreshMode tekenreeks Hiermee geeft u op hoe de LCM deze gedeeltelijke configuratie krijgt. De mogelijke waarden zijn Uitgeschakeld, Push en Pull.
  • Uitgeschakeld: deze gedeeltelijke configuratie is uitgeschakeld.
  • Push: de gedeeltelijke configuratie wordt naar het knooppunt pushen door de cmdlet Publish-DscConfiguration aan te roepen. Nadat alle gedeeltelijke configuraties voor het knooppunt zijn pushed of uit een service zijn gehaald, kan de configuratie worden gestart door aan te Start-DscConfiguration –UseExisting roepen. Dit is de standaardwaarde.
  • Pull: Het knooppunt is geconfigureerd om regelmatig te controleren op gedeeltelijke configuratie van een pull-service. Als deze eigenschap is ingesteld op Pull, moet u een pull-service opgeven in een ConfigurationSource-eigenschap. Zie overzicht van Azure Automation DSC voor meer informatie Azure Automation pull-service.
ResourceModuleSource tekenreeks[] Een matrix met de namen van resourceservers van waaruit de vereiste resources voor deze gedeeltelijke configuratie moeten worden gedownload. Deze namen moeten verwijzen naar service-eindpunten die eerder zijn gedefinieerd in de blokken ResourceRepositoryWeb en ResourceRepositoryShare.

Notitie

gedeeltelijke configuraties worden ondersteund met Azure Automation DSC, maar er kan slechts één configuratie worden gehaald uit elk Automation-account per knooppunt.

Zie ook

Concepten

Desired State Configuration Overzicht

Aan de slag met Azure Automation DSC

Meer informatie

Set-DscLocalConfigurationManager

Een pull-client met configuratienamen instellen