Konfigurera den lokala Configuration Manager

Gäller för: Windows PowerShell 5.0

Local Configuration Manager (LCM) är motorn i Desired State Configuration (DSC). LCM körs på varje målnod och ansvarar för att parsa och anta konfigurationer som skickas till noden. Det är också ansvarigt för ett antal andra aspekter av DSC, inklusive följande.

  • Fastställa uppdateringsläge (push eller pull).
  • Ange hur ofta en nod hämtar och antar konfigurationer.
  • Associera noden med pull-tjänsten.
  • Ange partiella konfigurationer.

Du använder en särskild typ av konfiguration för att konfigurera LCM för att ange vart och ett av dessa beteenden. I följande avsnitt beskrivs hur du konfigurerar LCM.

Windows PowerShell 5.0 introducerade nya inställningar för hantering av lokala Configuration Manager. Information om hur du konfigurerar LCM i Windows PowerShell 4.0 finns i Konfigurera den lokala Configuration Manager i tidigare versioner av Windows PowerShell.

Skriva och implementera en LCM-konfiguration

Om du vill konfigurera LCM skapar och kör du en särskild typ av konfiguration som tillämpar LCM-inställningar. Om du vill ange en LCM-konfiguration använder du attributet DscLocalConfigurationManager. Nedan visas en enkel konfiguration som ställer in LCM på push-läge.

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

Processen med att tillämpa inställningar på LCM liknar att tillämpa en DSC-konfiguration. Du skapar en LCM-konfiguration, kompilerar den till en MOF-fil och tillämpar den på noden. Till skillnad från DSC-konfigurationer utför du inte en LCM-konfiguration genom att anropa cmdleten Start-DscConfiguration . I stället anropar du Set-DscLocalConfigurationManager och anger sökvägen till LCM-konfigurationens MOF som en parameter. När du har implementerat LCM-konfigurationen kan du se egenskaperna för LCM genom att anropa cmdleten Get-DscLocalConfigurationManager .

En LCM-konfiguration kan bara innehålla block för en begränsad uppsättning resurser. I föregående exempel är den enda resursen som heter Inställningar. De andra tillgängliga resurserna är:

  • ConfigurationRepositoryWeb: anger en HTTP-pull-tjänst för konfigurationer.
  • ConfigurationRepositoryShare: anger en SMB-resurs för konfigurationer.
  • ResourceRepositoryWeb: anger en HTTP-hämtningstjänst för moduler.
  • ResourceRepositoryShare: anger en SMB-resurs för moduler.
  • ReportServerWeb: anger en HTTP-pull-tjänst som rapporter skickas till.
  • PartialConfiguration: tillhandahåller data för att aktivera partiella konfigurationer.

Grundläggande inställningar

Förutom att ange pull-tjänstslutpunkter/sökvägar och partiella konfigurationer konfigureras alla egenskaper för LCM i ett inställningsblock . Följande egenskaper är tillgängliga i ett inställningsblock .

Egenskap Typ Description
ActionAfterReboot sträng Anger vad som händer efter en omstart under tillämpningen av en konfiguration. Möjliga värden är "ContinueConfiguration" och "StopConfiguration".
  • ContinueConfiguration: Fortsätt att tillämpa den aktuella konfigurationen efter omstart av datorn. Detta är standardvärdet
  • StopConfiguration: Stoppa den aktuella konfigurationen efter omstart av datorn.
AllowModuleOverwrite boolesk $TRUE om nya konfigurationer som laddas ned från pull-tjänsten tillåts skriva över de gamla på målnoden. Annars $FALSE.
CertificateID sträng Tumavtrycket för ett certifikat som används för att skydda autentiseringsuppgifter som skickas i en konfiguration. Mer information finns i Vill du skydda autentiseringsuppgifter i Windows PowerShell Desired State Configuration?.
Obs! Detta hanteras automatiskt om du använder Azure Automation DSC-hämtningstjänst.
ConfigurationDownloadManagers CimInstance[] Föråldrade. Använd ConfigurationRepositoryWeb - och ConfigurationRepositoryShare-block för att definiera tjänstslutpunkter för konfigurationshämtning.
ConfigurationID sträng För bakåtkompatibilitet med äldre pull-tjänstversioner. Ett GUID som identifierar konfigurationsfilen som ska hämtas från en pull-tjänst. Noden hämtar konfigurationer för pull-tjänsten om namnet på konfigurationen MOF heter ConfigurationID.mof.
Observera: Om du anger den här egenskapen fungerar det inte att registrera noden med en pull-tjänst med hjälp av RegistrationKey . Mer information finns i Konfigurera en pull-klient med konfigurationsnamn.
ConfigurationMode sträng Anger hur LCM faktiskt tillämpar konfigurationen på målnoderna. Möjliga värden är "ApplyOnly","ApplyAndMonitor" och "ApplyAndAutoCorrect".
  • ApplyOnly: DSC tillämpar konfigurationen och gör inget ytterligare om inte en ny konfiguration skickas till målnoden eller när en ny konfiguration hämtas från en tjänst. Efter den första tillämpningen av en ny konfiguration söker DSC inte efter avvikelse från ett tidigare konfigurerat tillstånd. Observera att DSC försöker tillämpa konfigurationen tills den lyckas innan ApplyOnly börjar gälla.
  • ApplyAndMonitor: Det här är standardvärdet. LCM tillämpar alla nya konfigurationer. När en ny konfiguration har tillämpats rapporterar DSC avvikelsen i loggarna om målnoden avviker från det önskade tillståndet. Observera att DSC försöker tillämpa konfigurationen tills den lyckas innan ApplyAndMonitor börjar gälla.
  • ApplyAndAutoCorrect: DSC tillämpar alla nya konfigurationer. Om målnoden avviker från önskat tillstånd efter den första tillämpningen av en ny konfiguration rapporterar DSC avvikelsen i loggarna och tillämpar sedan den aktuella konfigurationen igen.
ConfigurationModeFrequencyMins UInt32 Hur ofta, på några minuter, kontrolleras och tillämpas den aktuella konfigurationen. Den här egenskapen ignoreras om egenskapen ConfigurationMode är inställd på ApplyOnly. Standardvärdet är 15.
DebugMode sträng Möjliga värden är None, ForceModuleImport och All.
  • Ställ in på Ingen för att använda cachelagrade resurser. Detta är standard och bör användas i produktionsscenarier.
  • Om du anger ForceModuleImport läser LCM in eventuella DSC-resursmoduler igen, även om de tidigare har lästs in och cachelagrats. Detta påverkar prestandan för DSC-åtgärder eftersom varje modul läses in igen vid användning. Vanligtvis använder du det här värdet när du felsöker en resurs
  • I den här versionen är Alla samma som ForceModuleImport
RebootNodeIfNeeded boolesk Ställ in på så $true att resurser kan starta om noden med hjälp av $global:DSCMachineStatus flaggan . Annars måste du starta om noden manuellt för alla konfigurationer som kräver den. Standardvärdet är $false. Om du vill använda den här inställningen när ett omstartsvillkor tillämpas av något annat än DSC (till exempel Windows Installer) kombinerar du den här inställningen med resursen PendingReboot i modulen ComputerManagementDsc .
RefreshMode sträng Anger hur LCM hämtar konfigurationer. Möjliga värden är "Disabled","Push" och "Pull".
  • Inaktiverad: DSC-konfigurationer är inaktiverade för den här noden.
  • Push: Konfigurationer initieras genom att cmdleten Start-DscConfiguration anropas. Konfigurationen tillämpas omedelbart på noden. Detta är standardvärdet.
  • Dra: Noden är konfigurerad för att regelbundet söka efter konfigurationer från en pull-tjänst eller SMB-sökväg. Om den här egenskapen är inställd på Pull måste du ange en HTTP- eller SMB-sökväg (resurs) i ett ConfigurationRepositoryWeb - eller ConfigurationRepositoryShare-block .
RefreshFrequencyMins Uint32 Tidsintervallet, i minuter, då LCM kontrollerar en pull-tjänst för att få uppdaterade konfigurationer och kontrollerar den lokala konfigurationen efter drift. Konfigurationen tillämpas oavsett om en uppdatering har laddats ned eller inte. Det här värdet ignoreras om LCM inte har konfigurerats i pull-läge. Standardvärdet är 30.
ReportManagers CimInstance[] Föråldrade. Använd ReportServerWeb-block för att definiera en slutpunkt för att skicka rapporteringsdata till en pull-tjänst.
ResourceModuleManagers CimInstance[] Föråldrade. Använd Blocken ResourceRepositoryWeb och ResourceRepositoryShare för att definiera HTTP-slutpunkter för pull-tjänsten eller SMB-sökvägar.
PartialConfigurations CimInstance Inte implementerat. Använd inte.
StatusRetentionTimeInDays UInt32 Antalet dagar som LCM behåller statusen för den aktuella konfigurationen.

Anteckning

LCM startar ConfigurationModeFrequencyMins-cykeln baserat på:

  • En ny metakonfiguration med en ändring av ConfigurationModeFrequencyMins används med hjälp av Set-DscLocalConfigurationManager
  • En omstart av datorn

För alla villkor där den tidsinställda processen upplever en krasch identifieras det inom 30 sekunder och cykeln startas om. En samtidig åtgärd kan fördröja att cykeln startas. Om åtgärdens varaktighet överskrider den konfigurerade cykelfrekvensen startar inte nästa timer. Till exempel konfigureras metakonfigurationen med 15 minuters hämtningsfrekvens och en hämtning sker vid T1. Noden slutar inte att fungera på 16 minuter. Den första 15-minuterscykeln ignoreras och nästa hämtning sker vid T1+15+15.

Den ursprungliga avsikten ConfigurationModeFrequencyMinsi Pull-scenarier var att är inställd på RefreshFrequencyMins en längre tid än . Lokala konfigurationer hanteras främst av ConfigurationModeFrequencyMins för att undvika konfigurationsavvikelser och RefreshFrequencyMins används för att hålla reda på faktiska konfigurationsändringar som gjorts av administratören.

Pull-tjänst

LCM-konfigurationen stöder definition av följande typer av pull-tjänstslutpunkter:

  • Konfigurationsserver: En lagringsplats för DSC-konfigurationer. Definiera konfigurationsservrar med hjälp av ConfigurationRepositoryWeb -block (för webbaserade servrar) och ConfigurationRepositoryShare (för SMB-baserade servrar).
  • Resursserver: En lagringsplats för DSC-resurser, paketerad som PowerShell-moduler. Definiera resursservrar med hjälp av Blocken ResourceRepositoryWeb (för webbaserade servrar) och ResourceRepositoryShare (för SMB-baserade servrar).
  • Rapportserver: En tjänst som DSC skickar rapportdata till. Definiera rapportservrar med hjälp av ReportServerWeb-block . En rapportserver måste vara en webbtjänst.

Mer information om pull-tjänsten finns i Desired State Configuration Pull Service.

Konfigurationsserverblock

Om du vill definiera en webbaserad konfigurationsserver skapar du ett ConfigurationRepositoryWeb-block . En ConfigurationRepositoryWeb definierar följande egenskaper.

Egenskap Typ Description
AllowUnsecureConnection boolesk Ange till $TRUE för att tillåta anslutningar från noden till servern utan autentisering. Ange till $FALSE för att kräva autentisering.
CertificateID sträng Tumavtrycket för ett certifikat som används för att autentisera till servern.
ConfigurationNames Sträng[] En matris med namn på konfigurationer som ska hämtas av målnoden. Dessa används endast om noden är registrerad i pull-tjänsten med hjälp av en RegistrationKey. Mer information finns i Konfigurera en pull-klient med konfigurationsnamn.
RegistrationKey sträng Ett GUID som registrerar noden med pull-tjänsten. Mer information finns i Konfigurera en pull-klient med konfigurationsnamn.
ServerURL sträng URL:en för konfigurationstjänsten.
ProxyURL* sträng URL:en för http-proxyn som ska användas vid kommunikation med konfigurationstjänsten.
ProxyCredential* pscredential Autentiseringsuppgifter som ska användas för http-proxyn.

Anteckning

Stöds i Windows version 1809 och senare.

Ett exempelskript för att förenkla konfigurationen av ConfigurationRepositoryWeb-värdet för lokala noder finns tillgängligt . Se Generera DSC-metakonfigurationer

Om du vill definiera en SMB-baserad konfigurationsserver skapar du ett ConfigurationRepositoryShare-block . En ConfigurationRepositoryShare definierar följande egenskaper.

Egenskap Typ Description
Merit MSFT_Credential Autentiseringsuppgifterna som används för att autentisera till SMB-resursen.
SourcePath sträng Sökvägen till SMB-resursen.

Resursserverblock

Om du vill definiera en webbaserad resursserver skapar du ett ResourceRepositoryWeb-block . En ResourceRepositoryWeb definierar följande egenskaper.

Egenskap Typ Description
AllowUnsecureConnection boolesk Ange till $TRUE för att tillåta anslutningar från noden till servern utan autentisering. Ange till $FALSE för att kräva autentisering.
CertificateID sträng Tumavtrycket för ett certifikat som används för att autentisera till servern.
RegistrationKey sträng Ett GUID som identifierar noden för pull-tjänsten.
ServerURL sträng URL:en för konfigurationsservern.
ProxyURL* sträng URL:en för http-proxyn som ska användas vid kommunikation med konfigurationstjänsten.
ProxyCredential* pscredential Autentiseringsuppgifter som ska användas för http-proxyn.

Anteckning

Stöds i Windows version 1809 och senare.

Ett exempelskript för att förenkla konfigurationen av ResourceRepositoryWeb-värdet för lokala noder finns tillgängligt . Se Generera DSC-metakonfigurationer

Om du vill definiera en SMB-baserad resursserver skapar du ett ResourceRepositoryShare-block . ResourceRepositoryShare definierar följande egenskaper.

Egenskap Typ Description
Merit MSFT_Credential Autentiseringsuppgifterna som används för att autentisera till SMB-resursen. Ett exempel på hur du skickar autentiseringsuppgifter finns i Konfigurera en DSC SMB-hämtningsserver
SourcePath sträng Sökvägen till SMB-resursen.

Rapportserverblock

Om du vill definiera en rapportserver skapar du ett ReportServerWeb-block . Rapportserverrollen är inte kompatibel med SMB-baserad pull-tjänst. ReportServerWeb definierar följande egenskaper.

Egenskap Typ Description
AllowUnsecureConnection boolesk Ange till $TRUE för att tillåta anslutningar från noden till servern utan autentisering. Ange till $FALSE för att kräva autentisering.
CertificateID sträng Tumavtrycket för ett certifikat som används för att autentisera till servern.
RegistrationKey sträng Ett GUID som identifierar noden för pull-tjänsten.
ServerURL sträng URL:en för konfigurationsservern.
ProxyURL* sträng URL:en för http-proxyn som ska användas vid kommunikation med konfigurationstjänsten.
ProxyCredential* pscredential Autentiseringsuppgifter som ska användas för http-proxyn.

Anteckning

Stöds i Windows version 1809 och senare.

Ett exempelskript för att förenkla konfigurationen av ReportServerWeb-värdet för lokala noder finns tillgängligt. Mer information finns i Generera DSC-metakonfigurationer

Partiella konfigurationer

Om du vill definiera en partiell konfiguration skapar du ett PartialConfiguration-block . Mer information om partiella konfigurationer finns i Partiella DSC-konfigurationer. PartialConfiguration definierar följande egenskaper.

Egenskap Typ Description
ConfigurationSource string[] En matris med namn på konfigurationsservrar, som tidigare definierats i ConfigurationRepositoryWeb - och ConfigurationRepositoryShare-block , där den partiella konfigurationen hämtas från.
DependsOn sträng{} En lista med namn på andra konfigurationer som måste slutföras innan den här partiella konfigurationen tillämpas.
Description sträng Text som används för att beskriva den partiella konfigurationen.
ExclusiveResources string[] En matris med resurser som är exklusiva för den här partiella konfigurationen.
RefreshMode sträng Anger hur LCM hämtar den här partiella konfigurationen. Möjliga värden är "Disabled","Push" och "Pull".
  • Inaktiverad: Den här partiella konfigurationen är inaktiverad.
  • Push: Den partiella konfigurationen skickas till noden genom att anropa cmdleten Publish-DscConfiguration . När alla partiella konfigurationer för noden antingen push-överförs eller hämtas från en tjänst kan konfigurationen startas genom att anropa Start-DscConfiguration –UseExisting. Detta är standardvärdet.
  • Dra: Noden är konfigurerad för att regelbundet söka efter partiell konfiguration från en pull-tjänst. Om den här egenskapen är inställd på Pull måste du ange en pull-tjänst i en ConfigurationSource-egenskap . Mer information om Azure Automation pull-tjänst finns i Azure Automation DSC-översikt.
ResourceModuleSource string[] En matris med namnen på resursservrar som du kan hämta nödvändiga resurser från för den här partiella konfigurationen. Dessa namn måste referera till tjänstslutpunkter som tidigare definierats i resourcerepositoryWeb - och ResourceRepositoryShare-block .

Anteckning

partiella konfigurationer stöds med Azure Automation DSC, men endast en konfiguration kan hämtas från varje Automation-konto per nod.

Se även

Begrepp

översikt över Desired State Configuration

Komma igång med Azure Automation DSC

Andra resurser

Set-DscLocalConfigurationManager

Konfigurera en pull-klient med konfigurationsnamn