Configuration du Gestionnaire de configuration local
S’applique à : Windows PowerShell 5.0
Le Gestionnaire de configuration local est le moteur de la fonctionnalité DSC (Desired State Configuration). Le LCM s’exécute sur chaque nœud cible pour analyser et appliquer les configurations transmises au nœud. Il a également en charge plusieurs autres opérations liées à DSC, notamment les suivantes.
- Déterminer le mode d’actualisation (push ou pull).
- Spécifier la fréquence à laquelle un nœud extrait et applique les configurations.
- Associer le nœud à un service d’extraction.
- Spécifier des configurations partielles.
Un type spécial de configuration vous permet de configurer le LCM pour définir chacun de ces comportements. Les sections qui suivent décrivent comment configurer le LCM.
Windows PowerShell 5.0 a introduit de nouveaux paramètres permettant de gérer le Gestionnaire de configuration local. Pour plus d’informations sur la configuration du Gestionnaire de configuration local dans Windows PowerShell 4.0, consultez Configuration du Gestionnaire de configuration local dans les versions précédentes de Windows PowerShell.
Création et application d’une configuration du LCM
Pour configurer le LCM, vous devez créer et exécuter un type spécial de configuration appliquant les paramètres du LCM. Pour spécifier une configuration du LCM, utilisez l’attribut DscLocalConfigurationManager. L’exemple ci-dessous montre une configuration simple qui définit le LCM en mode par envoi.
[DSCLocalConfigurationManager()]
configuration LCMConfig
{
Node localhost
{
Settings
{
RefreshMode = 'Push'
}
}
}
Le processus d’application des paramètres au Gestionnaire de configuration local est similaire à l’application d’une configuration DSC. Vous allez créer une configuration du LCM, la compiler dans un fichier MOF, puis l’appliquer au nœud. À la différence des configurations DSC, vous n’appliquez pas de configuration du gestionnaire de configuration local en appelant l’applet de commande Start-DscConfiguration. Au lieu de cela, vous appelez DscLocalConfigurationManager en spécifiant le chemin du fichier MOF de configuration du LCM comme paramètre. Après avoir appliqué la configuration du LCM, vous pouvez afficher ses propriétés en appelant l’applet de commande Get-DscLocalConfigurationManager.
Une configuration du LCM peut contenir des blocs pour un ensemble limité de ressources uniquement. Dans l’exemple précédent, Settings est la seule ressource appelée. Voici les autres ressources disponibles :
- 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 des configurations partielles.
Paramètres de base
À la différence de la spécification de points de terminaison/de chemins et de configurations partielles du service d’extraction, toutes les propriétés du Gestionnaire de configuration local sont configurées dans un bloc Paramètres. Un bloc Settings définit les propriétés suivantes.
Propriété | Type | Description |
---|---|---|
ActionAfterReboot | string | Spécifie le comportement après un redémarrage survenant pendant l’application d’une configuration. Les valeurs possibles sont ContinueConfiguration et StopConfiguration.
|
AllowModuleOverwrite | bool | $TRUE si de nouvelles configurations téléchargées dans le service d’extraction sont autorisées à remplacer les anciennes sur le nœud cible. Autrement, définissez-la sur $FALSE. |
CertificateID | string | Empreinte d’un certificat utilisée pour sécuriser les informations d’identification transmise dans une configuration. Pour plus d’informations, consultez Sécuriser les informations d’identification dans DSC Windows PowerShell. Remarque : ceci est géré automatiquement si vous utilisez le service d’extraction Azure Automation DSC. |
ConfigurationDownloadManagers | CimInstance[] | Obsolète. Utilisez les blocs ConfigurationRepositoryWeb et ConfigurationRepositoryShare pour définir les points de terminaison du service d’extraction de configuration. |
ConfigurationID | string | Pour la rétrocompatibilité avec des versions plus anciennes du service d’extraction. Un GUID qui identifie le fichier de configuration à obtenir d’un service d’extraction. Le nœud extrait les configurations du service d’extraction si le nom du fichier de configuration MOF est ConfigurationID.mof. Remarque : Si vous définissez cette propriété, l’enregistrement du nœud auprès d’un service d’extraction avec RegistrationKey ne fonctionne pas. Pour plus d’informations, consultez Configuration d’un client collecteur à l’aide du nom de configuration. |
ConfigurationMode | string | Spécifie de quelle façon le LCM applique réellement la configuration aux nœuds cibles. Les valeurs possibles sont "ApplyOnly" , "ApplyAndMonitor" et "ApplyAndAutoCorrect" .
|
ConfigurationModeFrequencyMins | UInt32 | Fréquence, en minutes, à laquelle 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 | string | Les valeurs possibles sont None, ForceModuleImport et All.
|
RebootNodeIfNeeded | bool | affectez la valeur $true pour autoriser les ressources à redémarrer le nœud à l’aide de l’indicateur $global:DSCMachineStatus . Sinon, vous devez redémarrer manuellement le nœud. La valeur par défaut est $false . Pour utiliser ce paramètre lorsqu’une condition de redémarrage est imposée par autre chose que DSC (par exemple, Windows Installer), combinez ce paramètre avec la ressource PendingReboot dans le module ComputerManagementDsc. |
RefreshMode | string | Spécifie de quelle façon le LCM obtient les configurations. Les valeurs possibles sont Disabled, Push et Pull.
|
RefreshFrequencyMins | Uint32 | L’intervalle de temps, en minutes, auquel le LCM contrôle un service d’extraction pour obtenir des configurations mises à jour, et contrôle la dérive de la configuration locale. La configuration est appliquée indépendamment du fait qu'une mise à jour ait été téléchargée ou non. Cette valeur est ignorée si le LCM n’est pas configuré en mode d’extraction. La valeur par défaut est 30. |
ReportManagers | CimInstance[] | Obsolète. Utilisez des blocs ReportServerWeb pour définir un point de terminaison permettant d’envoyer les données de rapport à un service d’extraction. |
ResourceModuleManagers | CimInstance[] | Obsolète. Utilisez des blocs ResourceRepositoryWeb et ResourceRepositoryShare pour définir respectivement les points de terminaison HTTP ou les chemins SMB du 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. |
Notes
Le Gestionnaire de configuration local démarre le cycle ConfigurationModeFrequencyMins d’après les critères suivants :
- Un nouvelle métaconfiguration avec une modification de ConfigurationModeFrequencyMins est appliquée à l’aide de
Set-DscLocalConfigurationManager
- Un redémarrage de l’ordinateur est effectué
Pour toute condition où le processus du minuteur plante, le problème est détecté dans les 30 secondes et le cycle est redémarré. Une opération simultanée pourrait retarder le démarrage du cycle. Si la durée de cette opération dépasse la fréquence du cycle configurée, le minuteur suivant ne démarrera pas. Par exemple, la métaconfiguration est configurée à une fréquence d’extraction de 15 minutes et une opération d’extraction a lieu à T1. Le nœud ne termine pas le travail avant 16 minutes. Le premier cycle de 15 minutes est ignoré, et l’extraction suivante aura lieu à T1+15+15.
L'intention initiale des scénarios Pull était de définir RefreshFrequencyMins
sur une durée plus longue que ConfigurationModeFrequencyMins
. Les configurations locales seraient gérées principalement par ConfigurationModeFrequencyMins
pour éviter la dérive de la configuration, et RefreshFrequencyMins
est utilisé pour garder une trace des changements de configuration réels effectués par l'administrateur.
Service d’extraction
La configuration du LCM permet de définir les types de services d’extraction suivants :
- Serveur de configuration : un 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 pour les ressources DSC, packagées comme 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 vers lequel DSC envoie les données de rapports. Définissez les serveurs de rapports à l’aide des blocs ReportServerWeb. Un serveur de rapports doit être un service web.
Pour plus d’informations sur le service collecteur, consultez Service collecteur Desired State Configuration.
Blocs de serveur de configuration
Pour définir un serveur de configuration web, créez un bloc ConfigurationRepositoryWeb. Un bloc ConfigurationRepositoryWeb définit les propriétés suivantes.
Propriété | Type | Description |
---|---|---|
AllowUnsecureConnection | bool | Définissez cette propriété sur $TRUE pour autoriser le nœud à se connecter au serveur sans authentification. Définissez-la sur $FALSE pour rendre l’authentification obligatoire. |
CertificateID | string | Empreinte d’un certificat utilisée pour l’authentification auprès du serveur. |
ConfigurationNames | String[] | Tableau des noms des configurations à extraire par le nœud cible. Ils sont utilisés uniquement si le nœud est enregistré auprès du service d’extraction à l’aide d’une propriété RegistrationKey. Pour plus d’informations, consultez Configuration d’un client collecteur à l’aide du nom de configuration. |
RegistrationKey | string | Un GUID sous lequel le nœud est enregistré auprès du service d’extraction. Pour plus d’informations, consultez Configuration d’un client collecteur à l’aide du nom de configuration. |
ServerURL | string | L’URL du service de configuration. |
ProxyURL* | string | URL du proxy http à utiliser lors de la communication avec le service de configuration. |
ProxyCredential* | pscredential | Informations d’identification à utiliser pour le proxy http. |
Notes
Pris en charge dans Windows 1809 et ultérieur.
Un exemple de script pour simplifier la valeur ConfigurationRepositoryWeb pour des nœuds locaux est disponible – consultez Génération de configurations DSC
Pour définir un serveur de configuration SMB, créez un bloc ConfigurationRepositoryShare. Un bloc ConfigurationRepositoryShare définit les propriétés suivantes.
Propriété | Type | Description |
---|---|---|
Informations d'identification | MSFT_Credential | Informations d’identification utilisées pour l’authentification auprès du partage SMB. |
SourcePath | string | Chemin du partage SMB. |
Blocs de serveur de ressources
Pour définir un serveur de ressources web, créez un bloc ResourceRepositoryWeb. Un bloc ResourceRepositoryWeb définit les propriétés suivantes.
Propriété | Type | Description |
---|---|---|
AllowUnsecureConnection | bool | Définissez cette propriété sur $TRUE pour autoriser le nœud à se connecter au serveur sans authentification. Définissez-la sur $FALSE pour rendre l’authentification obligatoire. |
CertificateID | string | Empreinte d’un certificat utilisée pour l’authentification auprès du serveur. |
RegistrationKey | string | Un GUID qui identifie le nœud inscrit auprès du service d’extraction. |
ServerURL | string | URL du serveur de configuration. |
ProxyURL* | string | URL du proxy http à utiliser lors de la communication avec le service de configuration. |
ProxyCredential* | pscredential | Informations d’identification à utiliser pour le proxy http. |
Notes
Pris en charge dans Windows 1809 et ultérieur.
Un exemple de script pour simplifier la configuration de la valeur ConfigurationRepositoryWeb pour des nœuds locaux est disponible – consultez Génération de métaconfigurations DSC
Pour définir un serveur de ressources SMB, créez un bloc ResourceRepositoryShare. Un bloc ResourceRepositoryShare définit les propriétés suivantes.
Propriété | Type | Description |
---|---|---|
Informations d'identification | MSFT_Credential | Informations d’identification utilisées pour l’authentification auprès du partage SMB. Pour obtenir un exemple de transmission d’informations d’identification, consultez Configuration d’un serveur d’extraction SMB DSC |
SourcePath | string | Chemin du partage SMB. |
Blocs de serveur de rapports
Pour définir un serveur de rapports, créez un bloc ReportServerWeb. Le rôle de serveur de rapports n’est pas compatible avec le service d’extraction basé sur SMB. Un bloc ReportServerWeb définit les propriétés suivantes.
Propriété | Type | Description |
---|---|---|
AllowUnsecureConnection | bool | Définissez cette propriété sur $TRUE pour autoriser le nœud à se connecter au serveur sans authentification. Définissez-la sur $FALSE pour rendre l’authentification obligatoire. |
CertificateID | string | Empreinte d’un certificat utilisée pour l’authentification auprès du serveur. |
RegistrationKey | string | Un GUID qui identifie le nœud inscrit auprès du service d’extraction. |
ServerURL | string | URL du serveur de configuration. |
ProxyURL* | string | URL du proxy http à utiliser lors de la communication avec le service de configuration. |
ProxyCredential* | pscredential | Informations d’identification à utiliser pour le proxy http. |
Notes
Pris en charge dans Windows 1809 et ultérieur.
Un exemple de script pour simplifier la configuration de la valeur ReportServerWeb pour des nœuds locaux est disponible – consultez Génération de métaconfigurations DSC
Configurations partielles
Pour définir une configuration partielle, créez un bloc PartialConfiguration. Pour plus d’informations sur les configurations partielles, consultez Configurations partielles DSC. Un bloc PartialConfiguration définit les propriétés suivantes.
Propriété | Type | Description |
---|---|---|
ConfigurationSource | string[] | Tableau des noms des serveurs de configuration, définis précédemment dans les blocs ConfigurationRepositoryWeb et ConfigurationRepositoryShare, à partir desquels la configuration partielle est extraite. |
DependsOn | string{} | Liste des noms des autres configurations à exécuter avant l’application de cette configuration partielle. |
Description | string | Texte qui décrit la configuration partielle. |
ExclusiveResources | string[] | Tableau des ressources exclusives de cette configuration partielle. |
RefreshMode | string | Spécifie de quelle façon le gestionnaire de configuration local obtient cette configuration partielle. Les valeurs possibles sont Disabled, Push et Pull.
|
ResourceModuleSource | string[] | Tableau des noms des serveurs de ressources à partir desquels télécharger les ressources nécessaires pour cette configuration partielle. Ces noms doivent être ceux des points de terminaison du service définis précédemment dans les blocs ResourceRepositoryWeb et ResourceRepositoryShare. |
Notes
Les configurations partielles sont prises en charge avec Azure Automation DSC, mais une seule configuration peut être extraite du compte Automation de chaque nœud.
Voir aussi
Concepts
Vue d’ensemble de la configuration d'état souhaité
Bien démarrer avec Azure Automation DSC
Autres ressources
Set-DscLocalConfigurationManager
Configuration d’un client collecteur à l’aide du nom de configuration