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 leConfiguration
mot clé et fournissez un nom. Dans ce cas, le nom de la configuration DSC estMyDscConfiguration
. - 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.ps1
où myConfig.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-DscResource
est 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-DscResource
l’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é parGet-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.