dsc 配置集

概要

在配置文档中强制实施资源实例的所需状态。

语法

stdin 配置文档

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

选项字符串中的配置文档

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

文件中的配置文档

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

描述

set 子命令强制执行配置文档中资源实例的所需状态。 此命令运行时,DSC 会在调用文档中定义的每个资源实例的测试操作之前验证配置文档。 然后,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 set

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

该命令使用 路径 选项来强制实施 example.dsc.config.yaml 文件中定义的配置。

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

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

该命令使用 文档 选项来强制实施存储在 $desired 变量中的配置。

dsc config set --document $desired

选项

-d、--document

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

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

Type:      String
Mandatory: false

-p、--path

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

此选项与 --document 选项互斥。 使用此选项时,DSC 将忽略 stdin 中的任何输入。

Type:      String
Mandatory: false

-w、--what-if

指定此标志选项时,DSC 实际上不会使用 set 操作更改系统状态。 相反,它会返回指示 操作 在调用时如何在不使用此选项的情况下更改系统状态的输出。 使用此选项预览 DSC 将对系统所做的更改。

使用此选项时命令的输出与不一样,不同之处在于 ExecutionType 元数据字段设置为 WhatIf 而不是 Actual

Type:      Boolean
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 配置获取结果架构