次の方法で共有


dsc リソース テスト

概要

リソースのテスト操作を呼び出します。

構文

stdin のインスタンス プロパティ

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

入力オプションからのインスタンス プロパティ

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

ファイルのインスタンス プロパティ

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

説明

サブコマンドは test 、リソース インスタンスの実際の状態を目的の状態と照らし合わせて検証します。

このサブコマンドは、特定の DSC リソースの 1 つのインスタンスをテストします。 複数のリソースをテストするには、リソース グループまたは dsc 構成テスト コマンドを使用します。

テストするインスタンスの目的の状態を、JSON または YAML オブジェクトとしてこのコマンドに渡す必要があります。 オブジェクトのプロパティは、リソースの有効なプロパティである必要があります。 インスタンス プロパティは、stdin から、オプションを含む文字列として、または オプションを使用 --input して保存されたファイルから、このコマンドに --path 渡すことができます。

独自のテスト操作を定義していないコマンド ベースの DSC リソースに対してこのコマンドが呼び出された場合、DSC は合成テストを実行します。 合成テストでは、インスタンスの目的の状態の各プロパティを実際の状態と比較します。 合成テストでは、大文字と小文字を区別する厳密な等価性が使用されます。 プロパティの目的の状態と実際の状態が同じでない場合、DSC はプロパティを目的の状態から外れたものとしてマークします。

このコマンドは、次の 2 つの条件下でのみインスタンス プロパティを検証します。

  1. プロパティが目的の状態入力に明示的に含まれている場合。
  2. プロパティに既定値があり、目的の状態入力に明示的に含まれていない場合。

例 1 - stdin のプロパティを使用したリソースのテスト

コマンドは、キーが現在の Example ユーザー ハイブに存在するかどうかをテストします。 リソース インスタンスのプロパティを JSON として指定し、stdin から渡します。

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

例 2 - 入力オプションを使用したリソースのテスト

コマンドは、キーが現在の Example ユーザー ハイブに存在するかどうかをテストします。 リソース インスタンスのプロパティを JSON として指定し、 入力 オプションを使用して渡します。

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

例 3 - YAML ファイルのプロパティを使用したリソースのテスト

コマンドは、キーが現在の Example ユーザー ハイブに存在するかどうかをテストします。 path オプションを使用して、リソース インスタンスのプロパティを定義する YAML ファイルへの パス を指定します。

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

オプション

-r、--resource

など Microsoft.Windows/Registry、使用する DSC リソースの完全修飾型名を指定します。

完全修飾型名の構文は、次のとおりです。 <owner>[.<group>][.<area>]/<name>

  • ownerは、リソースの保守中の作成者またはorganizationです。
  • grouparea は、リソースの namespacing を有効にする省略可能な名前コンポーネントです。
  • name 、リソースが管理するコンポーネントを識別します。
Type:      String
Mandatory: true

-i、--input

DSC リソース インスタンスの目的の状態を定義するプロパティを持つ JSON または YAML オブジェクトを指定します。 DSC は、リソースのインスタンス スキーマに対してオブジェクトを検証します。 検証に失敗すると、DSC によってエラーが発生します。

このオプションは、stdin または --path オプションのインスタンス プロパティでは使用できません。 インスタンス プロパティを stdin 経由でコマンドに渡すか、 オプションを持つ --path ファイルから渡すか、 オプションを指定して渡すかを --input 選択します。

Type:      String
Mandatory: false

-p、--path

stdin からの入力をパイプ処理したり、 オプションを指定して文字列として渡したりする代わりに、コマンドの入力として読み取るテキスト ファイルへのパスを --input 定義します。 指定したファイルには、リソースの有効なプロパティを表す JSON または YAML が含まれている必要があります。 DSC は、リソースのインスタンス スキーマに対してオブジェクトを検証します。 検証が失敗した場合、または指定したファイルが存在しない場合は、DSC によってエラーが発生します。

このオプションは、 オプションと --input 相互に排他的です。 このオプションを使用すると、DSC は stdin からの入力を無視します。

Type:      String
Mandatory: false

-f、--format

オプションは --format 、コマンドのコンソール出力形式を制御します。 コマンド出力が変数としてリダイレクトまたはキャプチャされる場合、出力は常に JSON になります。

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

-h, --help

現在のコマンドまたはサブコマンドのヘルプを表示します。 このオプションを指定すると、アプリケーションはこの後のすべてのオプションと引数を無視します。

Type:      Boolean
Mandatory: false

出力

このコマンドは、インスタンスの目的の状態、実際の状態、目的の状態から外れているプロパティの一覧、およびインスタンスが目的の状態であるかどうかを示すブール値を含む JSON 出力を返します。 詳細については、「 dsc リソース テストの結果スキーマ」を参照してください。