次の方法で共有


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>

説明

サブコマンドは set 、リソース インスタンスの目的の状態を強制し、最終的な状態を返します。

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

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

このサブコマンドは、リソース マニフェストの セクションを定義 set するコマンド ベースの DSC リソースに対してのみ呼び出すことができます。 設定操作を定義していないリソースに対してこのサブコマンドが呼び出されると、DSC によってエラーが発生します。

重要

コマンドは dsc resource set 常にリソースの操作を set 呼び出します。 リソースは、操作のインスタンス set を事前にテストするロジックを実装する場合がありますが、必須ではありません。

これは 、DSC 構成セット の動作とは異なり、DSC は常にインスタンスを総合的に、またはリソースの操作を test 呼び出してテストし、目的の状態でない場合にのみインスタンスに対して を呼び出 set します。

コマンド ベースのリソースは、リソース マニフェストで set.implementsPretest プロパティを定義することで、操作の事前setテストを実装するかどうかを示します。 そのプロパティが として true定義されている場合は、リソースが事前テストを実装していることを示します。 が または にfalse設定されている場合set.implementsPretest、マニフェストはリソースが事前テストを実装していないことを示します。

リソースが pretest を実装していることを示している場合、ユーザーは、事前テストでインスタンスが目的の状態ではないことが示されている場合、操作中 set にのみリソースがインスタンスを変更することを想定する必要があります。

リソースが事前テストを実装していない場合、ユーザーは、操作中にリソースが常にインスタンスを変更することを期待する set 必要があります。

操作の事前テストsetを実装していないリソースの場合は、 を呼び出すに、常に インスタンスに対して を呼び出dsc resource setdsc resource testして目的の状態であるかどうかを確認することをお勧めします。 これは、完全にべき等 set なコマンドを実装していないリソースによって発生する偶発的なエラーを回避するのに役立ちます。

例 1 - stdin のプロパティを使用してリソースを設定する

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

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

例 2 - 入力オプションを使用してリソースを設定する

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

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

例 3 - YAML ファイルのプロパティを使用してリソースを設定する

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

cat ./example.yaml
keyPath: HKCU\\Example
_exist:  true
dsc resource set --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 リソース セットの結果スキーマ」を参照してください。