dsc 配置集

概要

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

语法

文件中的配置文档

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 对命令返回的数据使用的格式。 可用格式包括:

  • jsonJSON 行的形式发出数据。
  • 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 选项