Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à Windows PowerShell 4.0 et versions ultérieures.
Aperçu
Les ressources DSC (Desired State Configuration) fournissent les blocs de construction d’une configuration DSC. Une ressource expose des propriétés qui peuvent être configurées (schéma) et contient les fonctions de script PowerShell que le gestionnaire de configuration locale (LCM) appelle pour « faire en sorte qu’il en soit ainsi ».
Une ressource peut modéliser quelque chose d’aussi générique qu’un fichier ou d’aussi spécifique qu’un paramètre de serveur IIS. Des groupes de ressources similaires sont regroupés dans un module DSC, qui organise tous les fichiers requis dans une structure portable et inclut des métadonnées pour identifier la façon dont les ressources sont censées être utilisées.
Chaque ressource dispose d’un schéma *schema qui détermine la syntaxe nécessaire à l’utilisation de la ressource dans une configuration. Le schéma d’une ressource peut être défini de la manière suivante :
-
Schema.Moffile : la plupart des ressources définissent leur schéma dans un fichier, à l’aide duschema.mofformat d’objet géré. -
<Resource Name>.schema.psm1file : les ressources composites définissent leur schéma dans un<ResourceName>.schema.psm1fichier à l’aide d’un bloc de paramètres. -
<Resource Name>.psm1file : les ressources DSC basées sur des classes définissent leur schéma dans la définition de classe. Les éléments de syntaxe sont désignés par des propriétés de classe. Pour plus d’informations, consultez about_Classes.
Pour récupérer la syntaxe d’une ressource DSC, utilisez l’applet de commande Get-DSCResource avec le paramètre Syntax . Cette utilisation est similaire à l’utilisation de Get-Command avec le paramètre Syntax pour obtenir la syntaxe de l’applet de commande. La sortie que vous voyez affiche le modèle utilisé pour un bloc de ressource pour la ressource que vous spécifiez.
Get-DscResource -Syntax Service
La sortie que vous voyez doit être similaire à la sortie ci-dessous, bien que la syntaxe de cette ressource puisse changer à l’avenir. Comme pour la syntaxe des applets de commande, les clés entre crochets sont facultatives. Les types spécifient le type de données attendues par chaque clé.
Note
La touche Ensure est facultative car elle est définie par défaut sur « Présent ».
Service [String] #ResourceName
{
Name = [string]
[BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
[Credential = [PSCredential]]
[Dependencies = [string[]]]
[DependsOn = [string[]]]
[Description = [string]]
[DisplayName = [string]]
[Ensure = [string]{ Absent | Present }]
[Path = [string]]
[PsDscRunAsCredential = [PSCredential]]
[StartupType = [string]{ Automatic | Disabled | Manual }]
[State = [string]{ Running | Stopped }]
}
Note
Dans les versions de PowerShell inférieures à 7.0, Get-DscResource ne trouve pas les ressources DSC basées sur une classe.
À l’intérieur d’une configuration, un bloc de ressources Service peut ressembler à ceci pour s’assurer que le service Spooler est en cours d’exécution.
Note
Avant d’utiliser une ressource dans une configuration, vous devez l’importer à l’aide de Import-DSCResource.
Configuration TestConfig
{
# It is best practice to always directly import resources, even if the
# resource is a built-in resource.
Import-DSCResource -Name Service
Node localhost
{
# The name of this resource block, can be anything you choose, as l
# ong as it is of type [String] as indicated by the schema.
Service "Spooler - Running"
{
Name = "Spooler"
State = "Running"
}
}
}
Les configurations peuvent contenir plusieurs instances du même type de ressource. Chaque instance doit être nommée de manière unique. Dans l’exemple suivant, un deuxième bloc de ressources Service est ajouté pour configurer le service « DHCP ».
Configuration TestConfig
{
# It is best practice to always directly import resources, even if the
# resource is a built-in resource.
Import-DSCResource -Name Service
Node localhost
{
# The name of this resource block, can be anything you choose, as
# long as it is of type [String] as indicated by the schema.
Service "Spooler - Running"
{
Name = "Spooler"
State = "Running"
}
# To configure a second service resource block, add another Service
# resource block and use a unique name.
Service "DHCP - Running"
{
Name = "DHCP"
State = "Running"
}
}
}
Note
À partir de PowerShell 5.0, IntelliSense a été ajouté pour DSC. Cette nouvelle fonctionnalité vous permet d’utiliser TAB et Ctr+Space pour compléter automatiquement les noms de touche.
Types de ressources
Windows est livré avec des ressources intégrées et Linux a des ressources spécifiques au système d’exploitation. Il existe des ressources pour les dépendances entre nœuds, des ressources de gestion de paquets, ainsi que des ressources détenues et gérées par la communauté. Vous pouvez utiliser les étapes ci-dessus pour déterminer la syntaxe de ces ressources et leur utilisation. Les pages qui servent à ces ressources ont été archivées sous Référence.
Ressources intégrées Windows
- Ressource d’archive
- Ressource environnementale
- Ressource de fichier
- Ressource de groupe
- Ressource GroupSet
- Ressource de journal
- Ressource de package
- Ressource ProcessSet
- Ressource de registre
- Ressource de script
- Ressource de service
- Ressource ServiceSet
- Ressource utilisateur
- WindowsRessource de fonctionnalité
- Ressource WindowsFeatureSet
- WindowsOptionalRessource de fonctionnalité
- Ressource WindowsOptionalFeatureSet
- WindowsPackageCabResource Resource
- Ressource WindowsProcess
Ressources de dépendance entre nœuds
Ressources de gestion des paquets
Ressources Linux
Le DSC pour les ressources Linux est obsolète. Pour plus d’informations, consultez DSC pour les ressources Linux.