共用方式為


dsc 組態測試

概要

驗證配置文件中的資源實例是否處於所需狀態。

語法

來自檔的配置文件

dsc config test [Options] --file <FILE>

選項字串中的配置文件

dsc config test [Options] --input <INPUT>

來自 stdin 的配置文件

cat <FILE> | dsc config test [Options] --file -

來自檔的配置文件,其中包含來自 stdin 的參數

cat <PARAMETERS_FILE> | dsc config --parameters-file - test [Options] --file <FILE>

來自選項字串的配置文件,其中包含來自 stdin 的參數

cat <PARAMETERS_FILE> | dsc config --parameters-file - test [Options] --input <INPUT>

說明

test 子命令驗證配置文件中的資源實例是否處於所需狀態。 當此命令運行時,DSC 會先驗證配置文檔,然後再為文檔中定義的每個資源實例調用測試作。

配置文件必須作為 --input JSON 或 YAML 和 or --file 選項傳遞給此命令。

範例

範例 1 - 測試配置的資源實例是否處於所需狀態

該命令返回另存為 example.dsc.config.yaml的配置文檔中定義的資源實例的狀態、所需狀態、實際狀態和不同屬性。 它使用選項將配置文件傳遞給 stdin --file 中的命令。

# example.dsc.config.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Windows only
  type: Microsoft.DSC/Assertion
  properties:
    $schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
    resources:
    - name: os
      type: Microsoft/OSInfo
      properties:
        family: Windows
- name: Current user registry example
  type: Microsoft.Windows/Registry
  properties:
    keyPath: HKCU\example
    _exist: true
  dependsOn:
    - "[resourceId('Microsoft.DSC/Assertion', 'Windows only')"
cat ./example.dsc.config.yaml | dsc config test --file -

範例 2 - 將要讀取的檔作為設定文件傳遞

該命令使用 --file option 來驗證文件中定義的 example.dsc.config.yaml 配置。

dsc config test --file ./example.dsc.config.yaml

範例 3 - 將設定文件作為變數傳遞

該命令使用 --input option 來驗證存儲在變數中的 $desired 配置。

dsc config test --input $desired

選項

-i, --輸入

指定要驗證其狀態的配置文件。

文件必須是包含 JSON 或 YAML 物件的字串。 DSC 根據配置文件架構驗證文件。 如果驗證失敗,DSC 將引發錯誤。

此選項與 --file 選項互斥。

Type        : string
Mandatory   : false
LongSyntax  : --input <INPUT>
ShortSyntax : -i <INPUT>

-f, --file

定義要驗證其狀態的配置文件的路徑。

指定的檔案必須包含作為 JSON 或 YAML 物件的設定文件。 DSC 根據配置文件架構驗證文件。 如果驗證失敗,或者指定的檔不存在,DSC 將引發錯誤。

您還可以使用此選項從 stdin 傳遞配置文件,如 示例 1 所示。

此選項與 --input 選項互斥。

Type        : string
Mandatory   : false
LongSyntax  : --file <FILE>
ShortSyntax : -f <FILE>

-o, --output-format

--output-format 選項控制 DSC 對命令傳回的數據使用的格式。 可用格式包括:

  • jsonJSON 行的形式發出數據。
  • pretty-json 將數據作為 JSON 發出,並帶有換行符、縮進和空格以提高可讀性。
  • yaml 以 YAML 格式發送資料。

預設輸出格式取決於 DSC 是否偵測到輸出正在重定向或作為變數擷取:

  • 如果命令未重定向或捕獲,DSC 會在控制台中將輸出顯示為 yaml 格式。
  • 如果命令輸出被重定向或捕獲,DSC 會將數據作為 json 格式發送到 stdout。

使用此選項時,DSC 將使用指定的格式,而不管命令是重定向還是捕獲。

當命令未重定向或捕獲時,控制台中的輸出將被格式化以提高可讀性。 當命令未重定向或捕獲時,輸出包括用於格式化的終端序列。

Type        : string
Mandatory   : false
ValidValues : [json, pretty-json, yaml]
LongSyntax  : --output-format <OUTPUT_FORMAT>
ShortSyntax : -o <OUTPUT_FORMAT>

-h,--help

顯示當前命令或子命令的説明。 指定此選項時,應用程式將忽略所有其他選項和參數。

Type        : boolean
Mandatory   : false
LongSyntax  : --help
ShortSyntax : -h

輸出

此命令返回格式化數據,其中包括作或任何資源是否引發了任何錯誤、作期間發出的消息集合以及每個實例的測試作結果。 有關更多資訊,請參閱 dsc config 測試結果架構

有關輸出數據格式的更多資訊,請參閱 --output-format 選項