Condividi tramite


Configurazione di Gestione configurazione locale

Si applica a: Windows PowerShell 5.0

Gestione configurazione locale (LCM) è il motore di DSC (Desired State Configuration). Gestione configurazione locale viene eseguito su ogni nodo di destinazione ed è responsabile dell'analisi e dell'esecuzione delle configurazioni inviate al nodo. È inoltre responsabile di una serie di altri aspetti della DSC, tra cui i seguenti.

  • Determinazione della modalità di aggiornamento (push o pull).
  • Specifica della frequenza con cui un nodo estrae e applica le configurazioni.
  • Associazione del nodo al servizio pull.
  • Specifica di configurazioni parziali.

È possibile utilizzare un tipo speciale di configurazione per configurare la Gestione configurazione locale in modo da specificare ciascuno di questi comportamenti. Nelle sezioni seguenti viene descritto come configurare LCM.

In Windows PowerShell 5.0 sono state introdotte nuove impostazioni per la gestione di Gestione configurazione locale. Per informazioni sulla configurazione di Gestione configurazione locale in Windows PowerShell 4.0, vedere Configurazione di Gestione configurazione locale nelle versioni precedenti di Windows PowerShell.

Scrittura e attuazione di una configurazione LCM

Per configurare Gestione configurazione locale, è necessario creare ed eseguire un tipo speciale di configurazione che applica le impostazioni di Gestione configurazione locale. Per specificare una configurazione di Gestione configurazione locale, utilizzare l'attributo DscLocalConfigurationManager. Di seguito viene illustrata una semplice configurazione che imposta LCM in modalità push.

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

Il processo di applicazione delle impostazioni a Gestione configurazione locale è simile all'applicazione di una configurazione DSC. Si creerà una configurazione di Gestione configurazione locale, la si compilerà in un file MOF e la si applicherà al nodo. A differenza delle configurazioni DSC, non è possibile eseguire una configurazione LCM chiamando il cmdlet Start-DscConfiguration . Al contrario, si chiama Set-DscLocalConfigurationManager, fornendo il percorso del MOF di configurazione di Gestione configurazione locale come parametro. Dopo aver eseguito la configurazione di Gestione configurazione locale, è possibile visualizzare le proprietà di Gestione configurazione locale chiamando il cmdlet Get-DscLocalConfigurationManager .

Una configurazione LCM può contenere blocchi solo per un insieme limitato di risorse. Nell'esempio precedente, l'unica risorsa chiamata è Impostazioni. Le altre risorse disponibili sono:

  • ConfigurationRepositoryWeb: specifica un servizio di pull HTTP per le configurazioni.
  • ConfigurationRepositoryShare: specifica una condivisione SMB per le configurazioni.
  • ResourceRepositoryWeb: specifica un servizio di pull HTTP per i moduli.
  • ResourceRepositoryShare: specifica una condivisione SMB per i moduli.
  • ReportServerWeb: specifica un servizio di pull HTTP a cui vengono inviati i report.
  • PartialConfiguration: fornisce i dati per abilitare le configurazioni parziali.

Impostazioni di base

Oltre a specificare gli endpoint/percorsi del servizio di pull e le configurazioni parziali, tutte le proprietà di Gestione configurazione locale vengono configurate in un blocco Impostazioni . Le seguenti proprietà sono disponibili in un blocco Impostazioni .

Proprietà TIPO Description
AzioneDopoRiavvio corda Specifica cosa accade dopo un riavvio durante l'applicazione di una configurazione. I valori possibili sono "ContinueConfiguration" e "StopConfiguration".
  • ContinueConfiguration: continuare ad applicare la configurazione corrente dopo il riavvio del computer. Questo è il valore predefinito
  • StopConfiguration: arresta la configurazione corrente dopo il riavvio del computer.
AllowModuleOverwrite bool $TRUE se le nuove configurazioni scaricate dal servizio pull possono sovrascrivere quelle precedenti nel nodo di destinazione. In caso contrario, $FALSE.
ID certificato corda Identificazione personale di un certificato utilizzato per proteggere le credenziali passate in una configurazione. Per altre informazioni , vedere Voler proteggere le credenziali in Windows PowerShell: Configurazione dello stato desiderato?.
Nota: questa operazione viene gestita automaticamente se si usa il servizio pull DSC di Automazione di Azure.
ConfigurationDownloadManagers CimInstance[] Obsoleto. Utilizzare i blocchi ConfigurationRepositoryWeb e ConfigurationRepositoryShare per definire gli endpoint del servizio pull di configurazione.
ID configurazione corda Per la compatibilità con le versioni precedenti del servizio pull. GUID che identifica il file di configurazione da ottenere da un servizio pull. Il nodo eseguirà il pull delle configurazioni nel servizio di pull se il nome del MOF di configurazione è denominato ConfigurationID.mof.
Nota: Se si imposta questa proprietà, la registrazione del nodo con un servizio pull tramite RegistrationKey non funziona. Per ulteriori informazioni, vedere Configurazione di un client di pull con nomi di configurazione.
Modalità di configurazione corda Specifica il modo in cui la Gestione configurazione locale applica effettivamente la configurazione ai nodi di destinazione. I valori possibili sono "ApplyOnly","ApplyAndMonitor" e "ApplyAndAutoCorrect".
  • ApplyOnly: DSC applica la configurazione e non esegue ulteriori operazioni a meno che non venga eseguito il push di una nuova configurazione nel nodo di destinazione o quando viene eseguito il pull di una nuova configurazione da un servizio. Dopo l'applicazione iniziale di una nuova configurazione, DSC non verifica la deviazione da uno stato configurato in precedenza. Si noti che DSC tenterà di applicare la configurazione fino a quando non avrà esito positivo prima che ApplyOnly abbia effetto.
  • ApplyAndMonitor: questo è il valore predefinito. La Gestione configurazione locale applica tutte le nuove configurazioni. Dopo l'applicazione iniziale di una nuova configurazione, se il nodo di destinazione si allontana dallo stato desiderato, DSC segnala la discrepanza nei log. Si noti che DSC tenterà di applicare la configurazione fino a quando non avrà esito positivo prima che ApplyAndMonitor abbia effetto.
  • ApplyAndAutoCorrect: DSC applica tutte le nuove configurazioni. Dopo l'applicazione iniziale di una nuova configurazione, se il nodo di destinazione si discosta dallo stato desiderato, DSC segnala la discrepanza nei log e quindi riapplica la configurazione corrente.
ConfigurationModeFrequencyMins UInt32 Con quale frequenza, in minuti, viene verificata e applicata la configurazione corrente. Questa proprietà viene ignorata se la proprietà ConfigurationMode è impostata su ApplyOnly. Il valore predefinito è 15.
DebugMode corda I valori possibili sono None, ForceModuleImport e All.
  • Impostare su Nessuno per utilizzare le risorse memorizzate nella cache. Questa è l'impostazione predefinita e deve essere utilizzata negli scenari di produzione.
  • L'impostazione su ForceModuleImport fa sì che LCM ricarichi tutti i moduli di risorse DSC, anche se sono stati caricati e memorizzati nella cache in precedenza. Ciò influisce sulle prestazioni delle operazioni DSC poiché ogni modulo viene ricaricato durante l'uso. In genere si usa questo valore durante il debug di una risorsa
  • In questa versione, All è uguale a ForceModuleImport
RebootNodeIfNeeded bool Impostare questa opzione su $true per consentire alle risorse di riavviare il nodo utilizzando il $global:DSCMachineStatus flag. In caso contrario, sarà necessario riavviare manualmente il nodo per qualsiasi configurazione che lo richiede. Il valore predefinito è $false. Per usare questa impostazione quando una condizione di riavvio viene attivata da un elemento diverso da DSC (ad esempio Windows Installer), combinare questa impostazione con la risorsa PendingReboot nel modulo ComputerManagementDsc .
Modalità di aggiornamento corda Specifica il modo in cui LCM ottiene le configurazioni. I valori possibili sono "Disabled","Push" e "Pull".
  • Disabilitato: le configurazioni DSC sono disabilitate per questo nodo.
  • Push: le configurazioni vengono avviate chiamando il cmdlet Start-DscConfiguration . La configurazione viene applicata immediatamente al nodo. Questo è il valore predefinito.
  • Tirare: Il nodo è configurato per verificare regolarmente la presenza di configurazioni da un servizio pull o da un percorso SMB. Se questa proprietà è impostata su Pull, è necessario specificare un percorso HTTP (servizio) o SMB (condivisione) in un blocco ConfigurationRepositoryWeb o ConfigurationRepositoryShare .
RefreshFrequencyMins Uint32 Intervallo di tempo, in minuti, in cui LCM controlla un servizio di pull per ottenere configurazioni aggiornate e verifica la deviazione della configurazione locale. La configurazione viene applicata indipendentemente dal fatto che sia stato scaricato un aggiornamento. Questo valore viene ignorato se Gestione configurazione locale non è configurata in modalità pull. Il valore predefinito è 30.
Gestori di rapporti CimInstance[] Obsoleto. Utilizzare i blocchi ReportServerWeb per definire un endpoint per l'invio dei dati di report a un servizio pull.
Gestori di moduli di risorse CimInstance[] Obsoleto. Utilizzare i blocchi ResourceRepositoryWeb e ResourceRepositoryShare per definire rispettivamente gli endpoint HTTP del servizio pull o i percorsi SMB.
Configurazioni parziali CimInstance Non implementato. Non utilizzare.
StatusRetentionTimeInDays UInt32 Il numero di giorni in cui LCM mantiene lo stato della configurazione corrente.

Annotazioni

LCM avvia il ciclo ConfigurationModeFrequencyMins in base a:

  • Una nuova metaconfig con una modifica a ConfigurationModeFrequencyMins viene applicata utilizzando Set-DscLocalConfigurationManager
  • Riavvio di una macchina

Per qualsiasi condizione in cui il processo del timer subisce un arresto anomalo, questo verrà rilevato entro 30 secondi e il ciclo verrà riavviato. Un'operazione simultanea potrebbe ritardare l'avvio del ciclo, se la durata di questa operazione supera la frequenza del ciclo configurata, il timer successivo non verrà avviato. Ad esempio, la metaconfig è configurata con una frequenza di pull di 15 minuti e un pull si verifica con T1. Il nodo non termina il lavoro per 16 minuti. Il primo ciclo di 15 minuti viene ignorato e il successivo tiro avverrà a T1+15+15.

Lo scopo originale negli scenari Pull era che l'impostazione RefreshFrequencyMins di è impostata su un tempo più lungo rispetto a ConfigurationModeFrequencyMins. Le configurazioni locali verrebbero gestite principalmente da ConfigurationModeFrequencyMins per evitare deviazioni di configurazione e RefreshFrequencyMins vengono utilizzate per tenere traccia delle modifiche effettive apportate alla configurazione dall'amministratore.

Servizio pull

La configurazione di Gestione configurazione locale supporta la definizione dei seguenti tipi di endpoint del servizio pull:

  • Server di configurazione: repository per le configurazioni DSC. Definire i server di configurazione utilizzando i blocchi ConfigurationRepositoryWeb (per i server basati sul Web) e ConfigurationRepositoryShare (per i server basati su SMB).
  • Server di risorse: repository per le risorse DSC, inclusi in un pacchetto come moduli di PowerShell. Definire i server di risorse utilizzando i blocchi ResourceRepositoryWeb (per i server basati sul Web) e ResourceRepositoryShare (per i server basati su PMI).
  • Server di report: servizio a cui DSC invia i dati del report. Definire i server di report utilizzando i blocchi ReportServerWeb . Un server di report deve essere un servizio Web.

Per altre informazioni sul servizio pull, vedere Servizio pull della configurazione dello stato desiderato.

Blocchi del server di configurazione

Per definire un server di configurazione basato sul Web, è necessario creare un blocco ConfigurationRepositoryWeb . Un oggetto ConfigurationRepositoryWeb definisce le seguenti proprietà.

Proprietà TIPO Description
AllowUnsecureConnection bool Impostare su $TRUE per consentire le connessioni dal nodo al server senza autenticazione. Impostare su $FALSE per richiedere l'autenticazione .
ID certificato corda Identificazione personale di un certificato utilizzato per l'autenticazione al server.
ConfigurationNames Stringa[] Matrice di nomi di configurazioni di cui il nodo di destinazione deve eseguire il pulling. Questi vengono utilizzati solo se il nodo è registrato con il servizio di pull tramite un RegistrationKey. Per ulteriori informazioni, vedere Configurazione di un client di pull con nomi di configurazione.
Chiave di registrazione corda GUID che registra il nodo con il servizio pull. Per ulteriori informazioni, vedere Configurazione di un client di pull con nomi di configurazione.
URL del server corda URL del servizio di configurazione.
URL proxy* corda URL del proxy http da utilizzare per la comunicazione con il servizio di configurazione.
ProxyCredential* pscredential Credenziale da utilizzare per il proxy http.

Annotazioni

Supportato in Windows versioni 1809 e successive.

È disponibile uno script di esempio per semplificare la configurazione del valore ConfigurationRepositoryWeb per i nodi locali: vedere Generazione di metaconfigurazioni DSC

Per definire un server di configurazione basato su SMB, creare un blocco ConfigurationRepositoryShare . Un oggetto ConfigurationRepositoryShare definisce le proprietà seguenti.

Proprietà TIPO Description
Credential MSFT_Credential Le credenziali utilizzate per l'autenticazione nella condivisione SMB.
SourcePath corda Percorso della condivisione SMB.

Blocchi del server di risorse

Per definire un server di risorse basato sul Web, è necessario creare un blocco ResourceRepositoryWeb . Un oggetto ResourceRepositoryWeb definisce le proprietà seguenti.

Proprietà TIPO Description
AllowUnsecureConnection bool Impostare su $TRUE per consentire le connessioni dal nodo al server senza autenticazione. Impostare su $FALSE per richiedere l'autenticazione .
ID certificato corda Identificazione personale di un certificato utilizzato per l'autenticazione al server.
Chiave di registrazione corda GUID che identifica il nodo del servizio pull.
URL del server corda URL del server di configurazione.
URL proxy* corda URL del proxy http da utilizzare per la comunicazione con il servizio di configurazione.
ProxyCredential* pscredential Credenziale da utilizzare per il proxy http.

Annotazioni

Supportato in Windows versioni 1809 e successive.

È disponibile uno script di esempio per semplificare la configurazione del valore ResourceRepositoryWeb per i nodi locali: vedere Generazione di metaconfigurazioni DSC

Per definire un server di risorse basato su SMB, è necessario creare un blocco ResourceRepositoryShare . ResourceRepositoryShare definisce le proprietà seguenti.

Proprietà TIPO Description
Credential MSFT_Credential Le credenziali utilizzate per l'autenticazione nella condivisione SMB. Per un esempio di passaggio delle credenziali, vedere Configurazione di un server di pull DSC SMB
SourcePath corda Percorso della condivisione SMB.

Blocchi del server di report

Per definire un server di report, è necessario creare un blocco ReportServerWeb . Il ruolo del server di report non è compatibile con il servizio pull basato su SMB. ReportServerWeb definisce le proprietà seguenti.

Proprietà TIPO Description
AllowUnsecureConnection bool Impostare su $TRUE per consentire le connessioni dal nodo al server senza autenticazione. Impostare su $FALSE per richiedere l'autenticazione .
ID certificato corda Identificazione personale di un certificato utilizzato per l'autenticazione al server.
Chiave di registrazione corda GUID che identifica il nodo del servizio pull.
URL del server corda URL del server di configurazione.
URL proxy* corda URL del proxy http da utilizzare per la comunicazione con il servizio di configurazione.
ProxyCredential* pscredential Credenziale da utilizzare per il proxy http.

Annotazioni

Supportato in Windows versioni 1809 e successive.

È disponibile uno script di esempio per semplificare la configurazione del valore ReportServerWeb per i nodi locali: vedere Generazione di metaconfigurazioni DSC

Configurazioni parziali

Per definire una configurazione parziale, è necessario creare un blocco PartialConfiguration . Per altre informazioni sulle configurazioni parziali, vedere Configurazioni parziali DSC. PartialConfiguration definisce le proprietà seguenti.

Proprietà TIPO Description
ConfigurationSource string[] Una matrice di nomi di server di configurazione, definiti in precedenza nei blocchi ConfigurationRepositoryWeb e ConfigurationRepositoryShare , da cui viene estratto il file di configurazione parziale.
DipendeSu corda{} Elenco dei nomi di altre configurazioni che devono essere completate prima dell'applicazione di questa configurazione parziale.
Description corda Testo utilizzato per descrivere la configurazione parziale.
Risorse esclusive string[] Una matrice di risorse esclusive per questa configurazione parziale.
Modalità di aggiornamento corda Specifica il modo in cui LCM ottiene questa configurazione parziale. I valori possibili sono "Disabled","Push" e "Pull".
  • Disabilitato: questa configurazione parziale è disabilitata.
  • Push: viene eseguito il push della configurazione parziale nel nodo chiamando il cmdlet Publish-DscConfiguration . Dopo che tutte le configurazioni parziali per il nodo sono state inviate o estratte da un servizio, la configurazione può essere avviata chiamando Start-DscConfiguration –UseExisting. Questo è il valore predefinito.
  • Tirare: Il nodo è configurato per verificare regolarmente la presenza di una configurazione parziale da un servizio pull. Se questa proprietà è impostata su Pull, è necessario specificare un servizio di pull in una proprietà ConfigurationSource . Per altre informazioni sul servizio pull di Automazione di Azure, vedere Panoramica di Automazione DSC di Azure.
ResourceModuleSource string[] Matrice dei nomi dei server di risorse da cui scaricare le risorse necessarie per questa configurazione parziale. Questi nomi devono fare riferimento agli endpoint di servizio definiti in precedenza nei blocchi ResourceRepositoryWeb e ResourceRepositoryShare .

Annotazioni

Le configurazioni parziali sono supportate con Azure Automation DSC, ma è possibile eseguire il pull di una sola configurazione da ogni account di automazione per ogni nodo.

Vedere anche

Concetti

Panoramica della configurazione dello stato desiderato

Introduzione ad Azure Automation DSC

Altre risorse

Set-DscLocalConfigurationManager

Configurazione di un client di pull con i nomi di configurazione