概要
验证配置文档中的资源实例是否处于所需状态。
语法
来自文件的配置文档
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 对命令返回的数据使用的格式。 可用格式包括:
-
json以 JSON 行的形式发出数据。 -
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 选项。