Freigeben über


dsc-Ressourcentest

Zusammenfassung

Ruft den Testvorgang 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 test Unterbefehl überprüft den tatsächlichen Zustand einer Ressource instance anhand eines gewünschten Zustands.

Dieser Unterbefehl testet eine instance einer bestimmten DSC-Ressource. Verwenden Sie zum Testen mehrerer Ressourcen eine Ressourcengruppe oder den Befehl dsc config test .

Der gewünschte Zustand des zu testenden 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.

Wenn dieser Befehl für eine befehlsbasierte DSC-Ressource aufgerufen wird, die keinen eigenen Testvorgang definiert, führt DSC einen synthetischen Test aus. Der synthetische Test vergleicht jede Eigenschaft für den gewünschten Zustand eines instance mit dem tatsächlichen Zustand. Beim synthetischen Test wird eine strikte Äquivalenz zwischen Groß- und Kleinschreibung verwendet. Wenn der gewünschte Zustand für eine Eigenschaft und der tatsächliche Zustand nicht identisch sind, markiert DSC die Eigenschaft als außerhalb des gewünschten Zustands.

Mit diesem Befehl werden instance Eigenschaften nur unter zwei Bedingungen überprüft:

  1. Wenn die -Eigenschaft explizit in der gewünschten Zustandseingabe enthalten ist.
  2. Wenn die Eigenschaft über einen Standardwert verfügt und nicht explizit in der gewünschten Zustandseingabe enthalten ist.

Beispiele

Beispiel 1: Testen einer Ressource mit Eigenschaften aus stdin

Der Befehl testet, ob 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 test --resource Microsoft.Windows/Registry

Beispiel 2: Testen einer Ressource mit der Eingabeoption

Der Befehl testet, ob 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 test --resource Microsoft.Windows/Registry --input '{
    "keyPath": "HKCU\\Example",
    "_exist": true
}'

Beispiel 3: Testen einer Ressource mit Eigenschaften aus einer YAML-Datei

Der Befehl testet, ob 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.

keyPath: HKCU\\Example
_exist:  true
dsc resource test --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 und area 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 gewünschten Zustand des instance, den tatsächlichen Zustand, die Liste der Eigenschaften, die sich außerhalb des gewünschten Zustands befinden, und einen booleschen Wert enthält, der angibt, ob sich der instance im gewünschten Zustand befindet. Weitere Informationen finden Sie unter dsc-Ressourcentestergebnisschema.