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>

DESCRIPTION

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 选项