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