Partager via


Configuration du gestionnaire de configuration local

S’applique à : Windows PowerShell 5.0

Le gestionnaire de configuration local (LCM) est le moteur de la configuration de l’état souhaité (DSC). Le LCM s’exécute sur chaque nœud cible et est responsable de l’analyse et de la mise en œuvre des configurations qui sont envoyées au nœud. Il est également responsable d’un certain nombre d’autres aspects de la DSC, notamment les suivants.

  • Détermination du mode d’actualisation (push ou pull).
  • Spécification de la fréquence à laquelle un nœud extrait et exécute des configurations.
  • Association du nœud au service d’extraction.
  • Spécification de configurations partielles.

Vous utilisez un type de configuration spécial pour configurer le LCM afin qu’il spécifie chacun de ces comportements. Les sections suivantes décrivent comment configurer le LCM.

Windows PowerShell 5.0 a introduit de nouveaux paramètres pour la gestion du Gestionnaire de configuration local. Pour plus d’informations sur la configuration du LCM dans Windows PowerShell 4.0, consultez Configuration du gestionnaire de configuration local dans les versions précédentes de Windows PowerShell.

Écriture et mise en œuvre d’une configuration LCM

Pour configurer le LCM, vous devez créer et exécuter un type spécial de configuration qui applique les paramètres LCM. Pour spécifier une configuration LCM, vous utilisez l’attribut DscLocalConfigurationManager. Ce qui suit montre une configuration simple qui définit le LCM en mode push.

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

Le processus d’application des paramètres à LCM est similaire à l’application d’une configuration DSC. Vous allez créer une configuration LCM, la compiler dans un fichier MOF et l’appliquer au nœud. Contrairement aux configurations DSC, vous n’implémentez pas une configuration LCM en appelant l’applet de commande Start-DscConfiguration . Au lieu de cela, vous appelez Set-DscLocalConfigurationManager, en fournissant le chemin d’accès au MOF de configuration LCM en tant que paramètre. Une fois que vous avez mis en œuvre la configuration LCM, vous pouvez voir les propriétés du LCM en appelant l’applet de commande Get-DscLocalConfigurationManager .

Une configuration LCM ne peut contenir des blocs que pour un ensemble limité de ressources. Dans l’exemple précédent, la seule ressource appelée est Settings. Les autres ressources disponibles sont :

  • ConfigurationRepositoryWeb : spécifie un service d’extraction HTTP pour les configurations.
  • ConfigurationRepositoryShare : spécifie un partage SMB pour les configurations.
  • ResourceRepositoryWeb : spécifie un service d’extraction HTTP pour les modules.
  • ResourceRepositoryShare : spécifie un partage SMB pour les modules.
  • ReportServerWeb : spécifie un service d’extraction HTTP auquel les rapports sont envoyés.
  • PartialConfiguration : fournit des données pour activer les configurations partielles.

Paramètres de base

Outre la spécification des points de terminaison/chemins d’accès du service d’extraction et des configurations partielles, toutes les propriétés du LCM sont configurées dans un bloc Settings . Les propriétés suivantes sont disponibles dans un bloc Paramètres .

Propriété Type Descriptif
ActionAfterReboot ficelle Spécifie ce qui se passe après un redémarrage pendant l’application d’une configuration. Les valeurs possibles sont « ContinueConfiguration » et « StopConfiguration ».
  • ContinueConfiguration : Continuez à appliquer la configuration actuelle après le redémarrage de la machine. Il s’agit de la valeur par défaut
  • StopConfiguration : Arrêtez la configuration actuelle après le redémarrage de la machine.
AllowModuleOverwrite bool $TRUE si les nouvelles configurations téléchargées à partir du service d’extraction sont autorisées à remplacer les anciennes sur le nœud cible. Sinon, $FALSE.
CertificatID ficelle Empreinte numérique d’un certificat utilisé pour sécuriser les informations d’identification transmises dans une configuration. Pour plus d’informations, consultez Vous souhaitez sécuriser les informations d’identification dans la configuration de l’état souhaité de Windows PowerShell ?.
Remarque : cette fonction est gérée automatiquement si vous utilisez le service d’extraction DSC Azure Automation.
ConfigurationDownloadManagers CimInstance[] Obsolète. Utilisez les blocs ConfigurationRepositoryWeb et ConfigurationRepositoryShare pour définir les points de terminaison du service d’extraction de configuration.
ID de configuration ficelle Pour la rétrocompatibilité avec les anciennes versions du service de traction. GUID qui identifie le fichier de configuration à obtenir à partir d’un service d’extraction. Le nœud extraira les configurations sur le service d’extraction si le nom du MOF de configuration est nommé ConfigurationID.mof.
Note: Si vous définissez cette propriété, l’inscription du nœud auprès d’un service d’extraction à l’aide de RegistrationKey ne fonctionne pas. Pour plus d’informations, consultez Configuration d’un client pull avec des noms de configuration.
ConfigurationMode ficelle Spécifie comment le LCM applique réellement la configuration aux nœuds cibles. Les valeurs possibles sont « ApplyOnly »,« ApplyAndMonitor » et « ApplyAndAutoCorrect ».
  • ApplyOnly : DSC applique la configuration et ne fait rien d’autre, sauf si une nouvelle configuration est envoyée au nœud cible ou lorsqu’une nouvelle configuration est extraite d’un service. Après l’application initiale d’une nouvelle configuration, DSC ne vérifie pas la dérive par rapport à un état précédemment configuré. Notez que DSC tentera d’appliquer la configuration jusqu’à ce qu’elle réussisse avant que ApplyOnly ne prenne effet.
  • ApplyAndMonitor : il s’agit de la valeur par défaut. Le LCM applique toutes les nouvelles configurations. Après l’application initiale d’une nouvelle configuration, si le nœud cible s’écarte de l’état souhaité, DSC signale l’écart dans les journaux. Notez que DSC tentera d’appliquer la configuration jusqu’à ce qu’elle réussisse avant que ApplyAndMonitor ne prenne effet.
  • ApplyAndAutoCorrect : DSC applique toutes les nouvelles configurations. Après l’application initiale d’une nouvelle configuration, si le nœud cible s’écarte de l’état souhaité, DSC signale l’écart dans les journaux, puis réapplique la configuration actuelle.
ConfigurationModeFrequencyMins UInt32 Fréquence à laquelle, en minutes, la configuration actuelle est vérifiée et appliquée. Cette propriété est ignorée si la propriété ConfigurationMode est définie sur ApplyOnly. La valeur par défaut est 15.
DebugMode ficelle Les valeurs possibles sont None, ForceModuleImport et All.
  • Définissez la valeur Aucun pour utiliser les ressources mises en cache. Il s’agit de l’option par défaut qui doit être utilisée dans les scénarios de production.
  • La définition sur ForceModuleImport oblige le LCM à recharger tous les modules de ressources DSC, même s’ils ont déjà été chargés et mis en cache. Cela a un impact sur les performances des opérations DSC car chaque module est rechargé en cours d’utilisation. En règle générale, vous utiliserez cette valeur lors du débogage d’une ressource
  • Dans cette version, All est identique à ForceModuleImport
RebootNodeIfNeeded bool Définissez cette option pour $true permettre aux ressources de redémarrer le nœud à l’aide de l’indicateur $global:DSCMachineStatus . Sinon, vous devrez redémarrer manuellement le nœud pour toute configuration qui l’exige. La valeur par défaut est $false. Pour utiliser ce paramètre lorsqu’une condition de redémarrage est mise en œuvre par quelque chose d’autre que DSC (tel que Windows Installer), combinez ce paramètre avec la ressource PendingReboot dans le module ComputerManagementDsc .
Mode de rafraîchissement ficelle Spécifie comment le LCM obtient les configurations. Les valeurs possibles sont « Disabled »,« Push » et « Pull ».
  • Désactivé : les configurations DSC sont désactivées pour ce nœud.
  • Push : les configurations sont lancées en appelant l’applet de commande Start-DscConfiguration . La configuration est appliquée immédiatement au nœud. Il s’agit de la valeur par défaut.
  • Tirer: Le nœud est configuré pour vérifier régulièrement les configurations à partir d’un service d’extraction ou d’un chemin SMB. Si cette propriété est définie sur Pull, vous devez spécifier un chemin d’accès HTTP (service) ou SMB (partage) dans un bloc ConfigurationRepositoryWeb ou ConfigurationRepositoryShare .
ActualiserFréquenceMins Uint32 Intervalle de temps, en minutes, pendant lequel le LCM vérifie un service d’extraction pour obtenir des configurations mises à jour et vérifie la dérive de la configuration locale. La configuration est appliquée, qu’une mise à jour ait été téléchargée ou non. Cette valeur est ignorée si le gestionnaire de configuration local n’est pas configuré en mode collecteur. La valeur par défaut est 30.
ReportManagers CimInstance[] Obsolète. Utilisez les blocs ReportServerWeb pour définir un point de terminaison afin d’envoyer des données de rapport à un service d’extraction.
ResourceModuleManagers CimInstance[] Obsolète. Utilisez les blocs ResourceRepositoryWeb et ResourceRepositoryShare pour définir respectivement des points de terminaison HTTP ou des chemins SMB de service d’extraction.
PartialConfigurations CimInstance Non implémenté. Ne pas utiliser.
StatusRetentionTimeInDays UInt32 Nombre de jours pendant lesquels le LCM conserve l’état de la configuration actuelle.

Note

Le LCM démarre le cycle ConfigurationModeFrequencyMins en fonction des éléments suivants :

  • Une nouvelle metaconfig avec une modification de ConfigurationModeFrequencyMins est appliquée à l’aide de Set-DscLocalConfigurationManager
  • Un redémarrage de la machine

Pour toute condition où le processus de minuterie subit un plantage, celui-ci sera détecté dans les 30 secondes et le cycle sera redémarré. Une opération simultanée peut retarder le démarrage du cycle, si la durée de cette opération dépasse la fréquence de cycle configurée, la minuterie suivante ne démarrera pas. Par exemple, la metaconfig est configurée à une fréquence d’extraction de 15 minutes et une extraction se produit à T1. Le nœud ne termine pas son travail pendant 16 minutes. Le premier cycle de 15 minutes est ignoré et le prochain tirage aura lieu à T1+15+15.

L’intention initiale des scénarios Pull était que le RefreshFrequencyMins soit défini sur une durée plus longue que le ConfigurationModeFrequencyMins. Les configurations locales sont gérées principalement par ConfigurationModeFrequencyMins pour éviter la dérive de configuration et RefreshFrequencyMins sont utilisées pour garder une trace des modifications de configuration réelles apportées par l’administrateur.

Service de traction

La configuration LCM prend en charge la définition des types de points de terminaison de service d’extraction suivants :

  • Serveur de configuration : référentiel pour les configurations DSC. Définissez les serveurs de configuration à l’aide des blocs ConfigurationRepositoryWeb (pour les serveurs Web) et ConfigurationRepositoryShare (pour les serveurs SMB).
  • Serveur de ressources : référentiel de ressources DSC, empaqueté sous forme de modules PowerShell. Définissez les serveurs de ressources à l’aide des blocs ResourceRepositoryWeb (pour les serveurs Web) et ResourceRepositoryShare (pour les serveurs SMB).
  • Serveur de rapports : service auquel DSC envoie des données de rapport. Définissez des serveurs de rapports à l’aide des blocs ReportServerWeb . Un serveur de rapports doit être un service Web.

Pour plus d’informations sur le service d’extraction, consultez la section Configuration de l’état souhaité Service d’extraction.

Blocs de serveur de configuration

Pour définir un serveur de configuration Web, vous devez créer un bloc ConfigurationRepositoryWeb . Un ConfigurationRepositoryWeb définit les propriétés suivantes.

Propriété Type Descriptif
AllowUnsecureConnection bool Défini sur $TRUE pour autoriser les connexions du nœud au serveur sans authentification. Défini sur $FALSE pour exiger une authentification.
CertificatID ficelle Empreinte numérique d’un certificat utilisé pour s’authentifier auprès du serveur.
ConfigurationNames Chaîne[] Tableau de noms de configurations à extraire par le nœud cible. Ceux-ci ne sont utilisés que si le nœud est enregistré auprès du service d’extraction à l’aide d’une clé d’enregistrement. Pour plus d’informations, consultez Configuration d’un client pull avec des noms de configuration.
Clé d’inscription ficelle GUID qui inscrit le nœud auprès du service d’extraction. Pour plus d’informations, consultez Configuration d’un client pull avec des noms de configuration.
ServerURL ficelle URL du service de configuration.
ProxyURL* ficelle URL du proxy http à utiliser lors de la communication avec le service de configuration.
ProxyCredential* pscredential Informations d’identification à utiliser pour le proxy http.

Note

Pris en charge dans les versions 1809 et ultérieures de Windows.

Un exemple de script permettant de simplifier la configuration de la valeur ConfigurationRepositoryWeb pour les nœuds locaux est disponible : reportez-vous à la section Génération de métaconfigurations DSC

Pour définir un serveur de configuration basé sur SMB, vous devez créer un bloc ConfigurationRepositoryShare . Un ConfigurationRepositoryShare définit les propriétés suivantes.

Propriété Type Descriptif
Credential MSFT_Credential Informations d’identification utilisées pour s’authentifier auprès du partage SMB.
SourcePath ficelle Le chemin d’accès du partage SMB.

Blocs de serveur de ressources

Pour définir un serveur de ressources Web, vous devez créer un bloc ResourceRepositoryWeb . Un ResourceRepositoryWeb définit les propriétés suivantes.

Propriété Type Descriptif
AllowUnsecureConnection bool Défini sur $TRUE pour autoriser les connexions du nœud au serveur sans authentification. Défini sur $FALSE pour exiger une authentification.
CertificatID ficelle Empreinte numérique d’un certificat utilisé pour s’authentifier auprès du serveur.
Clé d’inscription ficelle GUID qui identifie le nœud du service d’extraction.
ServerURL ficelle URL du serveur de configuration.
ProxyURL* ficelle URL du proxy http à utiliser lors de la communication avec le service de configuration.
ProxyCredential* pscredential Informations d’identification à utiliser pour le proxy http.

Note

Pris en charge dans les versions 1809 et ultérieures de Windows.

Un exemple de script permettant de simplifier la configuration de la valeur ResourceRepositoryWeb pour les nœuds locaux est disponible : reportez-vous à la section Génération de métaconfigurations DSC

Pour définir un serveur de ressources basé sur SMB, vous devez créer un bloc ResourceRepositoryShare . ResourceRepositoryShare définit les propriétés suivantes.

Propriété Type Descriptif
Credential MSFT_Credential Informations d’identification utilisées pour s’authentifier auprès du partage SMB. Pour obtenir un exemple de transmission d’informations d’identification, reportez-vous à la section Configuration d’un serveur collecteur DSC SMB
SourcePath ficelle Le chemin d’accès du partage SMB.

Blocs de serveur de rapports

Pour définir un serveur de rapports, vous devez créer un bloc ReportServerWeb . Le rôle de serveur de rapports n’est pas compatible avec le service d’extraction basé sur SMB. ReportServerWeb définit les propriétés suivantes.

Propriété Type Descriptif
AllowUnsecureConnection bool Défini sur $TRUE pour autoriser les connexions du nœud au serveur sans authentification. Défini sur $FALSE pour exiger une authentification.
CertificatID ficelle Empreinte numérique d’un certificat utilisé pour s’authentifier auprès du serveur.
Clé d’inscription ficelle GUID qui identifie le nœud du service d’extraction.
ServerURL ficelle URL du serveur de configuration.
ProxyURL* ficelle URL du proxy http à utiliser lors de la communication avec le service de configuration.
ProxyCredential* pscredential Informations d’identification à utiliser pour le proxy http.

Note

Pris en charge dans les versions 1809 et ultérieures de Windows.

Un exemple de script permettant de simplifier la configuration de la valeur ReportServerWeb pour les nœuds locaux est disponible : voir Génération de métaconfigurations DSC

Configurations partielles

Pour définir une configuration partielle, vous devez créer un bloc PartialConfiguration . Pour plus d’informations sur les configurations partielles, consultez Configurations partielles DSC. PartialConfiguration définit les propriétés suivantes.

Propriété Type Descriptif
ConfigurationSource chaîne de caractères[] Tableau de noms de serveurs de configuration, précédemment définis dans les blocs ConfigurationRepositoryWeb et ConfigurationRepositoryShare , à partir desquels la configuration partielle est extraite.
Dépend de corde{} Liste des noms d’autres configurations qui doivent être effectuées avant que cette configuration partielle ne soit appliquée.
Descriptif ficelle Texte utilisé pour décrire la configuration partielle.
Ressources exclusives chaîne de caractères[] Un ensemble de ressources exclusives à cette configuration partielle.
Mode de rafraîchissement ficelle Spécifie comment le LCM obtient cette configuration partielle. Les valeurs possibles sont « Disabled »,« Push » et « Pull ».
  • Désactivé : cette configuration partielle est désactivée.
  • Push : la configuration partielle est envoyée au nœud en appelant l’applet de commande Publish-DscConfiguration . Une fois que toutes les configurations partielles du nœud ont été poussées ou extraites d’un service, la configuration peut être démarrée en appelant Start-DscConfiguration –UseExisting. Il s’agit de la valeur par défaut.
  • Tirer: Le nœud est configuré pour vérifier régulièrement la configuration partielle d’un service d’extraction. Si cette propriété est définie sur Pull, vous devez spécifier un service d’extraction dans une propriété ConfigurationSource . Pour plus d’informations sur le service d’extraction Azure Automation, consultez Vue d’ensemble d’Azure Automation DSC.
ResourceModuleSource chaîne de caractères[] Tableau des noms des serveurs de ressources à partir desquels télécharger les ressources requises pour cette configuration partielle. Ces noms doivent faire référence à des points de terminaison de service précédemment définis dans les blocs ResourceRepositoryWeb et ResourceRepositoryShare .

Note

Les configurations partielles sont prises en charge avec Azure Automation DSC, mais une seule configuration peut être extraite de chaque compte Automation par nœud.

Voir aussi

Les concepts

Présentation de la configuration de l’état souhaité

Prise en main d’Azure Automation DSC

Autres ressources

Set-DscLocalConfigurationManager

Configuration d’un client collecteur avec des noms de configuration