Набор ресурсов dsc

Краткий обзор

Вызывает операцию set ресурса.

Синтаксис

Свойства экземпляра из stdin

<instance-properties> | dsc resource set [Options] --resource <RESOURCE>

Свойства экземпляра из входного параметра

dsc resource set --input '<instance-properties>' --resource <RESOURCE>

Свойства экземпляра из файла

dsc resource set --path <instance-properties-filepath> --resource <RESOURCE>

Описание

Подкоманда set принудительно применяет требуемое состояние экземпляра ресурса и возвращает конечное состояние.

Эта подкоманда задает один экземпляр определенного ресурса DSC. Чтобы задать несколько ресурсов, используйте группу ресурсов или команду dsc config set .

Требуемое состояние задаваемого экземпляра должно быть передано этой команде в виде объекта JSON или YAML. Свойства объекта должны быть допустимыми свойствами для ресурса. Свойства экземпляра можно передать в эту команду из stdin в виде строки с параметром --input или из сохраненного файла с параметром --path .

Эту подкоманду можно вызывать только для ресурсов DSC на основе команд, которые определяют set раздел манифеста ресурсов. Если эта подкоманда вызывается для ресурса, который не определяет операцию набора, DSC вызывает ошибку.

Важно!

Команда dsc resource set всегда вызывает set операцию для ресурса. Ресурсы могут, но не требуются для реализации логики, которая предварительно тестирует экземпляр для set операции.

Это отличается от того, как работает набор конфигурации dsc , где DSC всегда тестирует экземпляр либо искусственно, либо путем вызова test операции для ресурса, и вызывает set только для экземпляра, если он не находится в нужном состоянии.

Ресурсы на основе команд указывают, реализуют ли они предварительное тестирование для set операции, определяя свойство set.implementsPretest в манифесте ресурсов. Если это свойство определено как true, это означает, что ресурс реализует предварительное тестирование. Если set.implementsPretest параметр имеет значение false или не определен, манифест указывает, что ресурс не реализует предварительную тестирование.

Если ресурс указывает, что он реализует предварительное тестирование, пользователи должны ожидать, что ресурс изменяет экземпляр только во время операции, если предварительная set проверка показывает, что экземпляр не в нужном состоянии.

Если ресурс не реализует предварительную тестирование, пользователи должны ожидать, что ресурс всегда изменяет экземпляр во время set операции.

Для ресурсов, которые не реализуют предварительную проверку для set операции, корпорация Майкрософт рекомендует всегда вызывать dsc resource test экземпляр, чтобы узнать, находится ли он в нужном состоянии , прежде чем вызывать dsc resource set. Это поможет избежать случайных ошибок, вызванных ресурсами, которые не реализуют полностью идемпотентную set команду.

Примеры

Пример 1. Настройка ресурса со свойствами из stdin

Команда гарантирует, что Example ключ существует в кусте текущего пользователя. Он задает свойства экземпляра ресурса как JSON и передает их из stdin.

'{
    "keyPath": "HKCU\\Example",
    "_exist": true
}' | dsc resource set --resource Microsoft.Windows/Registry

Пример 2. Настройка ресурса с параметром ввода

Команда гарантирует, что Example ключ существует в кусте текущего пользователя. Он задает свойства экземпляра ресурса как JSON и передает их с параметром ввода .

dsc resource set --resource Microsoft.Windows/Registry --input '{
    "keyPath": "HKCU\\Example",
    "_exist": true
}'

Пример 3. Настройка ресурса со свойствами из ФАЙЛА YAML

Команда гарантирует, что Example ключ существует в кусте текущего пользователя. Он задает путь к yaml-файлу, определяя свойства экземпляра ресурса с параметром path .

cat ./example.yaml
keyPath: HKCU\\Example
_exist:  true
dsc resource set --resource Microsoft.Windows/Registry --path ./example.yaml

Варианты

-r, --resource

Указывает полное имя типа используемого ресурса DSC, например Microsoft.Windows/Registry.

Полный синтаксис имени типа: <owner>[.<group>][.<area>]/<name>, где:

  • owner это обслуживающий автор или организация для ресурса.
  • И grouparea являются необязательными компонентами имен, которые позволяют использовать именаpacing для ресурса.
  • Идентифицирует name компонент, которым управляет ресурс.
Type:      String
Mandatory: true

-i, --input

Указывает объект JSON или YAML со свойствами, определяющими требуемое состояние экземпляра ресурса DSC. DSC проверяет объект на соответствие схеме экземпляра ресурса. Если проверка завершается ошибкой, DSC выдает ошибку.

Этот параметр нельзя использовать со свойствами экземпляра над stdin или параметром --path . Выберите, следует ли передавать свойства экземпляра команде через stdin, из файла с параметром --path или с параметром --input .

Type:      String
Mandatory: false

-p, --path

Определяет путь к текстовому файлу для чтения в качестве входных данных для команды, а не для передачи входных данных из stdin или передачи его в виде строки с параметром --input . Указанный файл должен содержать JSON или YAML, которые представляют допустимые свойства для ресурса. DSC проверяет объект на соответствие схеме экземпляра ресурса. Если проверка завершается сбоем или если указанный файл не существует, DSC выдает ошибку.

Этот параметр является взаимоисключающим с параметром --input . При использовании этого параметра 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, которые включают фактическое состояние экземпляра до и после операции set, а также список свойств, измененных операцией set. Дополнительные сведения см. в разделе Схема результатов набора ресурсов dsc.