Konfigurera den lokala Konfigurationshanteraren

Gäller för: Windows PowerShell 5.0

Local Konfigurationshanteraren (LCM) är motorn för Desired State Configuration (DSC). LCM körs på varje målnod och ansvarar för att parsa och anta konfigurationer som skickas till noden. Den ansvarar också 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 använder 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 att hantera Konfigurationshanteraren. Information om hur du konfigurerar LCM i Windows PowerShell 4.0 finns i Configuring the Local Konfigurationshanteraren in Previous Versions of Windows PowerShell.

Skriva och anta en LCM-konfiguration

För att 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 använder du inte en LCM-konfiguration genom att anropa cmdleten Start-DscConfiguration. I stället anropar du Set-DscLocalConfigurationManageroch anger sökvägen till LCM-konfigurations-MOF som en parameter. När du har konfigurerat 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 resurs 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-pull-tjä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 slutpunkter/sökvägar för pull-tjänsten och partiella konfigurationer konfigureras alla egenskaper för LCM i ett Inställningar block. Följande egenskaper är tillgängliga i ett Inställningar block.

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. Det här är standardvärdet
  • StopConfiguration: Stoppa den aktuella konfigurationen efter omstart av datorn.
AllowModuleOverwrite boolesk $TRUE om nya konfigurationer som hämtats 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-pull-tjänsten.
KonfigurationDownloadManagers CimInstance[] Föråldrade. Använd ConfigurationRepositoryWeb- och ConfigurationRepositoryShare-block för att definiera slutpunkter för konfigurations-pull-tjänsten.
ConfigurationID sträng För bakåtkompatibilitet med äldre pull-tjänstversioner. Ett GUID som identifierar konfigurationsfilen som ska hämta från en pull-tjänst. Noden hämtar konfigurationer i pull-tjänsten om namnet på konfigurationens MOF heter ConfigurationID.mof.
Obs! 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 ingenting 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 kontrollerar DSC inte om det har avtagit 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. Efter den första tillämpningen av en ny konfiguration rapporterar DSC avvikelsen i loggarna om målnoden fördr bort 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. Efter den första tillämpningen av en ny konfiguration rapporterar DSC avvikelsen i loggarna och tillämpar sedan den aktuella konfigurationen på nytt om målnoden förs bort från det önskade tillståndet.
ConfigurationModeFrequencyMins UInt32 Hur ofta, i minuter, den aktuella konfigurationen kontrolleras och tillämpas. 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 (Ingen), ForceModuleImport (ForceModuleImport) och All (Alla).
  • Ange till Ingen för att använda cachelagrade resurser. Det här är standardinställningen och bör användas i produktionsscenarier.
  • Inställningen ForceModuleImport gör att LCM läser in alla DSC-resursmoduler på nytt, även om de tidigare har lästs in och cachelagrats. Detta påverkar prestandan för DSC-åtgärder när varje modul läss in på nytt vid användning. Normalt 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 Ange till för $true att tillåta resurser att starta om noden med hjälp av flaggan $global:DSCMachineStatus . Annars måste du starta om noden manuellt för alla konfigurationer som kräver det. Standardvärdet är $false. Om du vill använda den här inställningen när ett omstartsvillkor har startats 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. De möjliga värdena är "Disabled", "Push" och "Pull".
  • Inaktiverad: DSC-konfigurationer är inaktiverade för den här noden.
  • Push: Konfigurationer initieras genom att anropa cmdleten Start-DscConfiguration. Konfigurationen tillämpas omedelbart på noden. Detta är standardvärdet.
  • Hämta: 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å Hämta måste du ange en HTTP-sökväg (tjänst) 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 lokal konfiguration för 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 ResourceRepositoryWeb- och ResourceRepositoryShare-block för att definiera HTTP-slutpunkter för pull-tjänsten respektive 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 metaconfig med en ändring i ConfigurationModeFrequencyMins tillämpas med hjälp av Set-DscLocalConfigurationManager
  • En omstart av datorn

För alla villkor där timerprocessen 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. Metaconfig konfigureras till exempel med en pull-frekvens på 15 minuter och en pull sker vid T1. Noden slutför inte arbetet på 16 minuter. Den första 15-minuterscykeln ignoreras och nästa pull sker vid T1 +15+15.

Den ursprungliga avsikten i pull-scenarier var RefreshFrequencyMins att har angetts till en längre tid än ConfigurationModeFrequencyMins . Lokala konfigurationer skulle i första hand användas för att undvika konfigurationsavdrift och används för att hålla ConfigurationModeFrequencyMins RefreshFrequencyMins reda på faktiska konfigurationsändringar som görs 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 (för webbaserade servrar) och ConfigurationRepositoryShare-block (för SMB-baserade servrar).
  • Resursserver: En lagringsplats för DSC-resurser, paketerad som PowerShell-moduler. Definiera resursservrar med hjälp av ResourceRepositoryWeb (för webbaserade servrar) och ResourceRepositoryShare-block (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 att tillåta anslutningar från noden till servern utan autentisering. Ange till $FALSE kräver 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 har registrerats med 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 som förenklar konfigurationen av ConfigurationRepositoryWeb-värdet för lokala noder är 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
Autentiseringsuppgift MSFT_Credential De autentiseringsuppgifter 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 att tillåta anslutningar från noden till servern utan autentisering. Ange till $FALSE kräver 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 till pull-tjänsten.
ServerURL sträng Webbadressen till 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 som förenklar konfigurationen av ResourceRepositoryWeb-värdet för lokala noder är 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
Autentiseringsuppgift MSFT_Credential De autentiseringsuppgifter som används för att autentisera till SMB-resursen. Ett exempel på hur du kan skicka autentiseringsuppgifter finns i Konfigurera en DSC SMB-pullserver
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 att tillåta anslutningar från noden till servern utan autentisering. Ange till $FALSE kräver 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 till pull-tjänsten.
ServerURL sträng Webbadressen till 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 som gör det enklare att konfigurera ReportServerWeb-värdet för lokala noder 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 sträng[] En matris med namn på konfigurationsservrar, som tidigare definierats i blocken ConfigurationRepositoryWeb och ConfigurationRepositoryShare, som 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 sträng[] En matris med resurser som är exklusivt för den här partiella konfigurationen.
RefreshMode sträng Anger hur LCM hämtar den här partiella konfigurationen. De möjliga värdena är "Disabled", "Push" och "Pull".
  • Inaktiverad: Den här partiella konfigurationen är inaktiverad.
  • Push: Den partiella konfigurationen push-skickas till noden genom att anropa cmdleten Publish-DscConfiguration. När alla partiella konfigurationer för noden antingen push-skickas eller hämtas från en tjänst kan konfigurationen startas genom att anropa Start-DscConfiguration –UseExisting . Detta är standardvärdet.
  • Hämta: 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 hur Azure Automation pull-tjänsten finns i Azure Automation DSC Overview (DSC-översikt).
ResourceModuleSource sträng[] En matris med namnen på resursservrar som krävs för att ladda ned resurser som krävs 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

Desired State Configuration Översikt

Komma igång med Azure Automation DSC

Andra resurser

Set-DscLocalConfigurationManager

Konfigurera en pull-klient med konfigurationsnamn