Configurations DSC

S’applique à : PowerShell 7, fonctionnalité de configuration de machine d’Azure Automanage

Les configurations DSC sont des scripts PowerShell qui définissent un type spécial de commande. Pour définir une configuration, utilisez powerShell mot clé configuration.

Configuration MyDscConfiguration {
    Environment FirstEnvironmentVariable {
        Ensure = 'Present'
        Name   = 'Foo'
        Value  = 'Example'
    }

    Environment SecondEnvironmentVariable {
        Ensure = 'Present'
        Name   = 'Bar'
        Value  = 'Another'
    }
}

MyDscConfiguration

Enregistrez le script comme fichier .ps1.

Syntaxe de configuration

Un script de configuration DSC se compose des éléments suivants :

  • Bloc Configuration . Il s’agit du bloc de script le plus externe. Vous le définissez avec le Configuration mot clé et fournissez un nom. Dans ce cas, le nom de la configuration DSC est MyDscConfiguration.
  • Un ou plusieurs blocs de ressources DSC. C’est là que la configuration DSC définit les paramètres du composant qu’elle configure. Dans ce cas, il existe deux blocs de ressources DSC. Ils utilisent tous les deux la Environment ressource DSC.

Compilation de la configuration.

Avant de pouvoir utiliser une configuration DSC, vous devez la compiler dans un document MOF. Pour ce faire, appelez la configuration DSC comme vous le feriez pour appeler une fonction PowerShell. La dernière ligne de l’exemple, contenant uniquement le nom de la configuration DSC, exécute la configuration DSC.

Notes

Pour appeler une configuration DSC, elle doit être chargée dans l’étendue actuelle (comme avec toute autre fonction PowerShell). Pour ce faire, vous pouvez soit « dot-sourcing » le script, soit en exécutant le script avec F5 ou en cliquant sur le bouton Exécuter le script dans VS Code. Pour dot-source du script, exécutez la commande . .\myConfig.ps1myConfig.ps1 est le nom du fichier de script qui contient votre configuration DSC.

Lorsque vous appelez la configuration DSC, elle :

  • Crée un dossier dans le répertoire actif portant le même nom que la configuration DSC.
  • Crée un fichier nommé localhost.mof dans le nouveau répertoire.

Notes

Le fichier MOF contient toutes les informations de configuration du système. Il est donc important de le sécuriser.

Utilisation de nouvelles ressources DSC dans votre configuration DSC

Si vous avez exécuté les exemples précédents, vous avez peut-être remarqué un avertissement disant que vous utilisez une ressource sans l’avoir importée explicitement.

Vous pouvez utiliser l’applet de commande Get-DscResource pour déterminer quelles ressources sont installées sur le système et disponibles. Même lorsque leurs modules ont été placés dans $env:PSModulePath et sont reconnus par Get-DscResource, ils doivent toujours être chargés dans votre configuration DSC.

Import-DscResourceest une mot clé dynamique qui ne peut être reconnue que dans un Configuration bloc. Il ne s’agit pas d’une applet de commande. Import-DscResource prend en charge deux paramètres :

  • ModuleName est recommandé pour l’utilisation d’Import-DscResource. Il accepte le nom du module qui contient les ressources à importer (ainsi qu’un tableau de chaînes comprenant des noms de modules).
  • Name correspond au nom de la ressource à importer. Il ne s’agit pas du nom convivial retourné en tant que propriété Name de Get-DscResourcel’objet de retour, mais du nom de classe utilisé lors de la définition du schéma de ressource (propriété ResourceType de l’objet retourné par Get-DscResource).

Pour plus d’informations sur l’utilisation de Import-DSCResource, consultez Utilisation d’Import-DSCResource

Important

Il existe une limitation dans la configuration de l’ordinateur qui empêche une ressource DSC d’utiliser des applets de commande PowerShell non incluses dans PowerShell lui-même ou dans un module sur le PowerShell Gallery. Les ressources DSC qui utilisent des applets de commande d’un ou plusieurs modules Windows ne fonctionnent pas dans la configuration de la machine.

Voir aussi