Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Synopsis
Roept de setbewerking van een resource aan.
Syntax
Exemplaareigenschappen van stdin
<instance-properties> | dsc resource set [Options] --resource <RESOURCE>
Exemplaareigenschappen van invoeroptie
dsc resource set --input '<instance-properties>' --resource <RESOURCE>
Exemplaareigenschappen van bestand
dsc resource set --path <instance-properties-filepath> --resource <RESOURCE>
Description
De set subopdracht dwingt de gewenste status van een resource-exemplaar af en retourneert de uiteindelijke status.
Met deze subopdracht wordt één exemplaar van een specifieke DSC-resource ingesteld. Als u meerdere resources wilt instellen, gebruikt u een resourcegroep of de opdracht dsc config set .
De gewenste status van het in te stellen exemplaar moet aan deze opdracht worden doorgegeven als een JSON- of YAML-object.
De objecteigenschappen moeten geldige eigenschappen voor de resource zijn. De exemplaareigenschappen kunnen aan deze opdracht worden doorgegeven vanuit stdin, als een tekenreeks met de --input optie, of vanuit een opgeslagen bestand met de --path optie.
Deze subopdracht kan alleen worden aangeroepen voor DSC-resources op basis van opdrachten die de sectie van hun set resourcemanifest definiëren. Als deze subopdracht wordt aangeroepen voor een resource die geen setbewerking definieert, genereert DSC een fout.
Belangrijk
De dsc resource set opdracht roept altijd de set bewerking voor de resource aan. Resources kunnen, maar zijn niet vereist, logica implementeren waarmee een exemplaar voor de set bewerking vooraf wordt gecontroleerd.
Dit verschilt van de manier waarop dsc-configuratieset werkt, waarbij DSC altijd een exemplaar test, synthetisch of door de test bewerking voor de resource aan te roepen, en alleen wordt aangeroepen set voor een exemplaar als deze niet de gewenste status heeft.
Resources op basis van opdrachten geven aan of ze pretest implementeren voor de set bewerking door de eigenschap set.implementsPretest te definiëren in hun resourcemanifest. Als deze eigenschap is gedefinieerd als true, geeft dit aan dat de resource pretest implementeert. Als set.implementsPretest is ingesteld op false of niet is gedefinieerd, geeft het manifest aan dat de resource geen pretest implementeert.
Als een resource aangeeft dat deze pretest implementeert, moeten gebruikers verwachten dat de resource een exemplaar alleen wijzigt tijdens een set bewerking als uit de pretest blijkt dat het exemplaar niet de gewenste status heeft.
Als een resource geen pretest implementeert, moeten gebruikers verwachten dat de resource altijd een exemplaar wijzigt tijdens een set bewerking.
Voor resources die geen pretest voor de set bewerking implementeren, raadt Microsoft aan om altijd een exemplaar aan te roepen dsc resource test om te zien of deze de gewenste status heeft voordat u aanroept dsc resource set. Dit kan helpen bij het voorkomen van onbedoelde fouten die worden veroorzaakt door resources die geen volledig idempotente set opdracht implementeren.
Voorbeelden
Voorbeeld 1: een resource met eigenschappen van stdin instellen
De opdracht zorgt ervoor dat de Example sleutel bestaat in de huidige gebruikerscomponent. Hiermee geeft u de eigenschappen van het resource-exemplaar op als JSON en geeft u deze door vanuit stdin.
'{
"keyPath": "HKCU\\Example",
"_exist": true
}' | dsc resource set --resource Microsoft.Windows/Registry
Voorbeeld 2: een resource instellen met de invoeroptie
De opdracht zorgt ervoor dat de Example sleutel bestaat in de huidige gebruikerscomponent. Hiermee geeft u de eigenschappen van het resource-exemplaar op als JSON en geeft u deze door met de invoeroptie .
dsc resource set --resource Microsoft.Windows/Registry --input '{
"keyPath": "HKCU\\Example",
"_exist": true
}'
Voorbeeld 3: een resource instellen met eigenschappen uit een YAML-bestand
De opdracht zorgt ervoor dat de Example sleutel bestaat in de huidige gebruikerscomponent. Hiermee wordt het pad opgegeven naar een yaml-bestand dat de eigenschappen van het resource-exemplaar definieert met de padoptie .
cat ./example.yaml
keyPath: HKCU\\Example
_exist: true
dsc resource set --resource Microsoft.Windows/Registry --path ./example.yaml
Opties
-r, --resource
Hiermee geeft u de volledig gekwalificeerde typenaam van de DSC-resource te gebruiken, zoals Microsoft.Windows/Registry.
De syntaxis van de volledig gekwalificeerde typenaam is: <owner>[.<group>][.<area>]/<name>, waarbij:
- De
owneris de onderhoudende auteur of organisatie voor de resource. - De
groupenareazijn optionele naamonderdelen waarmee namespacing voor een resource mogelijk is. - De
nameidentificeert het onderdeel dat door de resource wordt beheerd.
Type: String
Mandatory: true
-i, --input
Hiermee geeft u een JSON- of YAML-object op met de eigenschappen die de gewenste status van een DSC-resource-exemplaar definiëren. DSC valideert het object op basis van het exemplaarschema van de resource. Als de validatie mislukt, genereert DSC een fout.
Deze optie kan niet worden gebruikt met exemplaareigenschappen via stdin of de --path optie. Kies of u de exemplaareigenschappen wilt doorgeven aan de opdracht via stdin, vanuit een bestand met de --path optie of met de --input optie.
Type: String
Mandatory: false
-p, --path
Definieert het pad naar een tekstbestand dat moet worden gelezen als invoer voor de opdracht in plaats van invoer uit stdin door te sluisen of door te geven als een tekenreeks met de --input optie. Het opgegeven bestand moet JSON of YAML bevatten die geldige eigenschappen voor de resource vertegenwoordigen. DSC valideert het object op basis van het exemplaarschema van de resource. Als de validatie mislukt of als het opgegeven bestand niet bestaat, genereert DSC een fout.
Deze optie is wederzijds exclusief met de --input optie. Wanneer u deze optie gebruikt, negeert DSC alle invoer van stdin.
Type: String
Mandatory: false
-f, --format
De --format optie bepaalt de indeling van de console-uitvoer voor de opdracht. Als de uitvoer van de opdracht wordt omgeleid of vastgelegd als een variabele, is de uitvoer altijd JSON.
Type: String
Mandatory: false
DefaultValue: yaml
ValidValues: [json, pretty-json, yaml]
-h, --help
Geeft de Help weer voor de huidige opdracht of subopdracht. Wanneer u deze optie opgeeft, worden alle opties en argumenten na deze optie genegeerd.
Type: Boolean
Mandatory: false
Uitvoer
Deze opdracht retourneert JSON-uitvoer die de werkelijke status van het exemplaar vóór en na de setbewerking bevat, en de lijst met eigenschappen die door de setbewerking zijn gewijzigd. Zie het resultaatschema van de dsc-resourceset voor meer informatie.