dsc 配置测试

摘要

验证配置文档中的资源实例是否处于所需状态。

语法

来自 stdin 的配置文档

<document-string> | dsc config test [Options]

选项字符串中的配置文档

dsc config test [Options] --document <document-string>

文件中的配置文档

dsc config test [Options] --path <document-filepath>

说明

test 命令验证配置文档中的资源实例是否处于所需状态。 此命令运行时,DSC 先验证配置文档,然后再调用文档中定义的每个资源实例的测试操作。

配置文档必须作为 JSON 或 YAML 通过 stdin 传递到此命令,必须作为包含 文档 选项的字符串传递到此命令,或者从具有 路径 选项的文件中传递。

示例

示例 1 - 测试配置的资源实例是否处于所需状态

该命令返回在保存为 example.dsc.config.yaml的配置文档中定义的资源实例的状态、所需状态、实际状态和不同属性。

# example.dsc.config.yaml
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.json
resources:
- name: Windows only
  type: Microsoft.DSC/Assertion
  properties:
    $schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/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

示例 2 - 传递要读取的文件作为配置文档

命令使用 path 选项来验证文件中 example.dsc.config.yaml 定义的配置。

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

示例 3 - 将配置文档作为变量传递

命令使用 文档 选项来验证变量中 $desired 存储的配置。

dsc config test --document $desired

选项

-d、 --document

指定要验证其状态的配置文档。 文档必须是包含 JSON 或 YAML 对象的字符串。 DSC 根据配置文档架构验证文档。 如果验证失败,DSC 将引发错误。

此选项不能与 stdin 或 --path 选项上的配置文档一起使用。 选择是通过 stdin 将配置文档传递到命令,还是从具有 --path 选项 --document 的 文件中传递。

Type:      String
Mandatory: false

-p、--path

定义配置文档的路径,以便验证其状态,而不是从 stdin 中传递文档,或者使用 选项将其作为字符串 --document 传递。 指定的文件必须包含 JSON 或 YAML 对象的配置文档。 DSC 根据配置文档架构验证文档。 如果验证失败,或者指定的文件不存在,DSC 将引发错误。

此选项与 --document 选项互斥。 使用此选项时,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 config 测试结果架构