概要
在配置文档中强制实施资源实例的所需状态。
语法
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 配置获取结果架构。