dsc-Ressourcensatz
Zusammenfassung
Ruft den Set-Vorgang einer Ressource auf.
Syntax
Instanzeigenschaften aus stdin
<instance-properties> | dsc resource set [Options] --resource <RESOURCE>
Instanzeigenschaften aus Eingabeoption
dsc resource set --input '<instance-properties>' --resource <RESOURCE>
Instanzeigenschaften aus der Datei
dsc resource set --path <instance-properties-filepath> --resource <RESOURCE>
BESCHREIBUNG
Der set
Unterbefehl erzwingt den gewünschten Zustand einer Ressource instance und gibt den endgültigen Zustand zurück.
Dieser Unterbefehl legt eine instance einer bestimmten DSC-Ressource fest. Um mehrere Ressourcen festzulegen, verwenden Sie eine Ressourcengruppe oder den Befehl dsc config set .
Der gewünschte Zustand des festzulegenden instance muss als JSON- oder YAML-Objekt an diesen Befehl übergeben werden.
Die Objekteigenschaften müssen gültige Eigenschaften für die Ressource sein. Die instance Eigenschaften können von stdin, als Zeichenfolge mit der --input
Option oder aus einer gespeicherten Datei mit der --path
Option an diesen Befehl übergeben werden.
Dieser Unterbefehl kann nur für befehlsbasierte DSC-Ressourcen aufgerufen werden, die den set
Abschnitt ihres Ressourcenmanifests definieren. Wenn dieser Unterbefehl für eine Ressource aufgerufen wird, die keinen set-Vorgang definiert, löst DSC einen Fehler aus.
Wichtig
Der dsc resource set
Befehl ruft immer den set
Vorgang für die Ressource auf. Ressourcen können logik implementieren, die eine instance für den Vorgang vortestetset
, sind aber nicht erforderlich.
Dies unterscheidet sich von der Funktionsweise des dsc-Konfigurationssatzes, bei dem DSC immer einen instance testet, entweder synthetisch oder durch Aufrufen des test
Vorgangs set
für die Ressource, und ruft nur für einen instance auf, wenn er sich nicht im gewünschten Zustand befindet.
Befehlsbasierte Ressourcen geben an, ob sie pretest für den set
Vorgang implementieren, indem sie die set.implementsPretest-Eigenschaft in ihrem Ressourcenmanifest definieren. Wenn diese Eigenschaft als true
definiert ist, gibt dies an, dass die Ressource einen Vorabtest implementiert. Wenn set.implementsPretest
auf false
festgelegt oder undefined ist, gibt das Manifest an, dass die Ressource keinen Vorabtest implementiert.
Wenn eine Ressource angibt, dass sie Pretest implementiert, sollten Benutzer davon ausgehen, dass die Ressource während eines set
Vorgangs eine instance nur ändert, wenn der Vorabtest zeigt, dass sich die instance nicht im gewünschten Zustand befindet.
Wenn eine Ressource keinen Vorabtest implementiert, sollten Benutzer erwarten, dass die Ressource während eines Vorgangs immer eine set
instance ändert.
Für Ressourcen, die den Vorabtest für den set
Vorgang nicht implementieren, empfiehlt Microsoft, immer für einen instance aufzurufendsc resource test
, um vor dem Aufrufen dsc resource set
zu überprüfen, ob sich dieser im gewünschten Zustand befindet. Dies kann dazu beitragen, versehentliche Fehler zu vermeiden, die durch Ressourcen verursacht werden, die keinen vollständig idempotenten set
Befehl implementieren.
Beispiele
Beispiel 1: Festlegen einer Ressource mit Eigenschaften aus stdin
Der Befehl stellt sicher, dass der Example
Schlüssel in der aktuellen Benutzerstruktur vorhanden ist. Es gibt die Ressource instance Eigenschaften als JSON an und übergibt sie von stdin.
'{
"keyPath": "HKCU\\Example",
"_exist": true
}' | dsc resource set --resource Microsoft.Windows/Registry
Beispiel 2: Festlegen einer Ressource mit der Eingabeoption
Der Befehl stellt sicher, dass der Example
Schlüssel in der aktuellen Benutzerstruktur vorhanden ist. Es gibt die Ressource instance Eigenschaften als JSON an und übergibt sie mit der Eingabeoption.
dsc resource set --resource Microsoft.Windows/Registry --input '{
"keyPath": "HKCU\\Example",
"_exist": true
}'
Beispiel 3: Festlegen einer Ressource mit Eigenschaften aus einer YAML-Datei
Der Befehl stellt sicher, dass der Example
Schlüssel in der aktuellen Benutzerstruktur vorhanden ist. Es gibt den Pfad zu einer Yaml-Datei an, die die Ressource instance Eigenschaften mit der Pfadoption definiert.
cat ./example.yaml
keyPath: HKCU\\Example
_exist: true
dsc resource set --resource Microsoft.Windows/Registry --path ./example.yaml
Optionen
-r, --resource
Gibt den vollqualifizierten Typnamen der zu verwendenden DSC-Ressource an, z. B Microsoft.Windows/Registry
. .
Die vollqualifizierte Typnamensyntax lautet: <owner>[.<group>][.<area>]/<name>
, wobei:
- Der
owner
ist der Verwalten des Autors oder organization für die Ressource. - Die
group
undarea
sind optionale Namenskomponenten, die die Namenspacing für eine Ressource ermöglichen. - Der
name
identifiziert die Komponente, die von der Ressource verwaltet wird.
Type: String
Mandatory: true
-i, --input
Gibt ein JSON- oder YAML-Objekt mit den Eigenschaften an, die den gewünschten Zustand einer DSC-Ressource instance definieren. DSC überprüft das Objekt anhand des instance Schemas der Ressource. Wenn die Überprüfung fehlschlägt, löst DSC einen Fehler aus.
Diese Option kann nicht mit instance Eigenschaften über stdin oder die --path
Option verwendet werden. Wählen Sie aus, ob die instance Eigenschaften über stdin, aus einer Datei mit der --path
Option oder mit der Option an den --input
Befehl übergeben werden sollen.
Type: String
Mandatory: false
-p, --path
Definiert den Pfad zu einer Textdatei, die als Eingabe für den Befehl gelesen werden soll, anstatt eingaben von stdin oder als Zeichenfolge mit der --input
Option zu übergeben. Die angegebene Datei muss JSON oder YAML enthalten, das gültige Eigenschaften für die Ressource darstellt. DSC überprüft das Objekt anhand des instance Schemas der Ressource. Wenn die Überprüfung fehlschlägt oder die angegebene Datei nicht vorhanden ist, löst DSC einen Fehler aus.
Diese Option schließt sich mit der --input
Option gegenseitig aus. Wenn Sie diese Option verwenden, ignoriert DSC alle Eingaben von stdin.
Type: String
Mandatory: false
-f, --format
Die --format
Option steuert das Konsolenausgabeformat für den Befehl. Wenn die Befehlsausgabe umgeleitet oder als Variable erfasst wird, ist die Ausgabe immer JSON.
Type: String
Mandatory: false
DefaultValue: yaml
ValidValues: [json, pretty-json, yaml]
-h, --help
Zeigt die Hilfe für den aktuellen Befehl oder Unterbefehl an. Wenn Sie diese Option angeben, ignoriert die Anwendung alle Optionen und Argumente nach dieser Option.
Type: Boolean
Mandatory: false
Ausgabe
Dieser Befehl gibt eine JSON-Ausgabe zurück, die den tatsächlichen Zustand des instance vor und nach dem Setvorgang sowie die Liste der Eigenschaften enthält, die der Setvorgang geändert hat. Weitere Informationen finden Sie unter dsc-Ressourcensatzergebnisschema.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für