概要
在配置文档中强制实施资源实例的所需状态。
语法
文件中的配置文档
dsc config set [Options] --file <FILE>
选项字符串中的配置文档
dsc config set [Options] --input <INPUT>
stdin 配置文档
cat <FILE> | dsc config set [Options] --file -
来自文件的配置文档,其中包含来自 stdin 的参数
cat <PARAMETERS_FILE> | dsc config --parameters-file - set [Options] --file <FILE>
来自选项字符串的配置文档,其中包含来自 stdin 的参数
cat <PARAMETERS_FILE> | dsc config --parameters-file - set [Options] --input <INPUT>
描述
该 set 子命令在配置文档中强制执行资源实例的所需状态。 此命令运行时,DSC 会在调用文档中定义的每个资源实例的测试操作之前验证配置文档。 然后,DSC 为不处于所需状态的每个资源实例调用设置操作。
配置文档必须作为 --input JSON 或 YAML 和 or --file 选项传递给此命令。
例子
示例 1 - 将配置的资源实例设置为所需状态
该命令检查另存为 example.dsc.config.yaml 的配置文档中定义的资源实例,并根据需要将它们设置为所需状态。
# 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 set --file -
示例 2 - 传递要读取的文件作为配置文档
该命令使用 file 选项来强制执行文件中定义的 example.dsc.config.yaml 配置。
dsc config set --file ./example.dsc.config.yaml
示例 3 - 将配置文档作为变量传递
该命令使用 input 选项来强制执行存储在变量中的 $desired 配置。
dsc config set --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>
-w、--what-if
当您指定此标志选项时,DSC 实际上不会随 set 作更改系统状态。 相反,它会返回 output,指示在没有此选项的情况下调用作时 将如何 更改系统状态。 使用此选项预览 DSC 将对系统所做的更改。
使用此选项时,命令的输出与 without 相同,只是 ExecutionType metadata 字段设置为 WhatIf instead 而不是 Actual。
Type : boolean
Mandatory : false
LongSyntax : --what-if
ShortSyntax : -w
-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 get result schema。
有关输出数据格式的更多信息,请参阅 --output-format 选项。