Partager via


jeu de ressources dsc

Synopsis

Appelle l’opération d’ensemble d’une ressource.

Syntax

Propriétés d’instance de stdin

<instance-properties> | dsc resource set [Options] --resource <RESOURCE>

Propriétés d’instance de l’option d’entrée

dsc resource set --input '<instance-properties>' --resource <RESOURCE>

Propriétés d’instance à partir d’un fichier

dsc resource set --path <instance-properties-filepath> --resource <RESOURCE>

Description

La set sous-commande applique l’état souhaité d’une ressource instance et retourne l’état final.

Cette sous-commande définit une instance d’une ressource DSC spécifique. Pour définir plusieurs ressources, utilisez un groupe de ressources ou la commande dsc config set .

L’état souhaité du instance à définir doit être passé à cette commande en tant qu’objet JSON ou YAML. Les propriétés de l’objet doivent être des propriétés valides pour la ressource. Les propriétés instance peuvent être passées à cette commande à partir de stdin, sous la forme d’une chaîne avec l’option --input ou d’un fichier enregistré avec l’option --path .

Cette sous-commande ne peut être appelée que pour les ressources DSC basées sur des commandes qui définissent la set section de leur manifeste de ressource. Si cette sous-commande est appelée pour une ressource qui ne définit pas d’opération de jeu, DSC génère une erreur.

Important

La dsc resource set commande appelle toujours l’opération set pour la ressource. Les ressources peuvent, mais ne sont pas tenues d’implémenter une logique qui préteste un instance pour l’opérationset.

Cela diffère de la façon dont fonctionne le jeu de configuration dsc, où DSC teste toujours un instance, soit de manière synthétique, soit en appelant l’opération test pour la ressource, et appelle set uniquement pour un instance s’il n’est pas dans l’état souhaité.

Les ressources basées sur des commandes indiquent si elles implémentent le prétest pour l’opération set en définissant la propriété set.implementsPretest dans leur manifeste de ressource. Si cette propriété est définie comme true, cela indique que la ressource implémente le prétest. Si set.implementsPretest est défini sur false ou n’est pas défini, le manifeste indique que la ressource n’implémente pas le prétest.

Si une ressource indique qu’elle implémente le prétest, les utilisateurs doivent s’attendre à ce que la ressource ne modifie un instance pendant une set opération que si le prétest montre que le instance n’est pas dans l’état souhaité.

Si une ressource n’implémente pas le prétest, les utilisateurs doivent s’attendre à ce que la ressource modifie toujours un instance pendant une set opération.

Pour les ressources qui n’implémentent pas de prétest pour l’opérationset, Microsoft recommande de toujours appeler dsc resource test un instance pour voir s’il est dans l’état souhaité avant d’appeler dsc resource set. Cela permet d’éviter les erreurs accidentelles causées par des ressources qui n’implémentent pas une commande entièrement idempotente set .

Exemples

Exemple 1 - Définition d’une ressource avec les propriétés de stdin

La commande garantit que la Example clé existe dans la ruche de l’utilisateur actuel. Il spécifie la ressource instance propriétés au format JSON et les transmet à partir de stdin.

'{
    "keyPath": "HKCU\\Example",
    "_exist": true
}' | dsc resource set --resource Microsoft.Windows/Registry

Exemple 2 - Définition d’une ressource avec l’option d’entrée

La commande garantit que la Example clé existe dans la ruche de l’utilisateur actuel. Il spécifie la ressource instance propriétés au format JSON et les transmet avec l’option d’entrée.

dsc resource set --resource Microsoft.Windows/Registry --input '{
    "keyPath": "HKCU\\Example",
    "_exist": true
}'

Exemple 3 - Définition d’une ressource avec les propriétés d’un fichier YAML

La commande garantit que la Example clé existe dans la ruche de l’utilisateur actuel. Il spécifie le chemin d’accès à un fichier yaml définissant la ressource instance propriétés avec l’option chemin d’accès.

cat ./example.yaml
keyPath: HKCU\\Example
_exist:  true
dsc resource set --resource Microsoft.Windows/Registry --path ./example.yaml

Options

-r, --resource

Spécifie le nom de type complet de la ressource DSC à utiliser, comme Microsoft.Windows/Registry.

La syntaxe complète du nom de type est : <owner>[.<group>][.<area>]/<name>, où :

  • owner est l’auteur ou le organization de maintenance de la ressource.
  • Les et area sont des group composants de nom facultatifs qui activent l’espacement des noms pour une ressource.
  • identifie name le composant que la ressource gère.
Type:      String
Mandatory: true

-i, --input

Spécifie un objet JSON ou YAML avec les propriétés qui définissent l’état souhaité d’une ressource DSC instance. DSC valide l’objet par rapport au schéma instance de la ressource. Si la validation échoue, DSC génère une erreur.

Cette option ne peut pas être utilisée avec instance propriétés sur stdin ou l’option --path . Choisissez de passer les propriétés instance à la commande sur stdin, à partir d’un fichier avec l’option --path ou avec l’option --input .

Type:      String
Mandatory: false

-p, --path

Définit le chemin d’accès à un fichier texte à lire en tant qu’entrée pour la commande au lieu de passer l’entrée à partir de stdin ou de la passer sous forme de chaîne avec l’option --input . Le fichier spécifié doit contenir JSON ou YAML qui représente des propriétés valides pour la ressource. DSC valide l’objet par rapport au schéma instance de la ressource. Si la validation échoue ou si le fichier spécifié n’existe pas, DSC génère une erreur.

Cette option s’exclut mutuellement avec l’option --input . Lorsque vous utilisez cette option, DSC ignore toute entrée de stdin.

Type:      String
Mandatory: false

-f, --format

L’option --format contrôle le format de sortie de la console pour la commande. Si la sortie de commande est redirigée ou capturée en tant que variable, la sortie est toujours JSON.

Type:         String
Mandatory:    false
DefaultValue: yaml
ValidValues:  [json, pretty-json, yaml]

-h, --help

Affiche l’aide pour la commande ou la sous-commande actuelle. Lorsque vous spécifiez cette option, l’application ignore toutes les options et arguments après celle-ci.

Type:      Boolean
Mandatory: false

Sortie

Cette commande retourne une sortie JSON qui inclut l’état réel de l’instance avant et après l’opération set, ainsi que la liste des propriétés modifiées par l’opération set. Pour plus d’informations, consultez Schéma de résultats du jeu de ressources dsc.