Compartilhar via


conjunto de recursos dsc

Sinopse

Invoca a operação definida de um recurso.

Syntax

Propriedades da instância do stdin

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

Propriedades da instância da opção de entrada

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

Propriedades da instância do arquivo

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

Descrição

O set subcomando impõe o estado desejado de uma instância de recurso e retorna o estado final.

Esse subcomando define uma instância de um recurso DSC específico. Para definir vários recursos, use um grupo de recursos ou o comando dsc config set .

O estado desejado da instância a ser definida deve ser passado para esse comando como um objeto JSON ou YAML. As propriedades do objeto devem ser propriedades válidas para o recurso. As propriedades da instância podem ser passadas para esse comando de stdin, como uma cadeia de caracteres com a opção --input ou de um arquivo salvo com a opção --path .

Esse subcomando só pode ser invocado para recursos DSC baseados em comando que definem a set seção de seu manifesto de recurso. Se esse subcomando for chamado para um recurso que não define uma operação definida, o DSC gerará um erro.

Importante

O dsc resource set comando sempre invoca a set operação para o recurso. Os recursos podem, mas não são necessários, implementar uma lógica que pré-atesta uma instância para a set operação.

Isso é diferente de como o conjunto de configurações dsc funciona, em que o DSC sempre testa uma instância, sinteticamente ou invocando a test operação para o recurso e invoca set apenas para uma instância se ela não estiver no estado desejado.

Os recursos baseados em comando indicam se eles implementam o pretest para a set operação definindo a propriedade set.implementsPretest no manifesto do recurso. Se essa propriedade for definida como true, ela indicará que o recurso implementa o pré-teste. Se set.implementsPretest estiver definido false como ou for indefinido, o manifesto indicará que o recurso não implementa o pré-teste.

Se um recurso indicar que ele implementa o pré-teste, os usuários deverão esperar que o recurso modifique apenas uma instância durante uma set operação se o pré-teste mostrar que a instância não está no estado desejado.

Se um recurso não implementar o pré-teste, os usuários deverão esperar que o recurso sempre modifique uma instância durante uma set operação.

Para recursos que não implementam pré-testes para a operação, a set Microsoft recomenda sempre chamar dsc resource test em uma instância para ver se ela está no estado desejado antes de invocar dsc resource set. Isso pode ajudar a evitar erros acidentais causados por recursos que não implementam um comando totalmente idempotente set .

Exemplos

Exemplo 1 – Definir um recurso com propriedades de stdin

O comando garante que a Example chave exista no hive de usuário atual. Ele especifica as propriedades da instância de recurso como JSON e as passa de stdin.

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

Exemplo 2 – Definir um recurso com a opção de entrada

O comando garante que a Example chave exista no hive de usuário atual. Ele especifica as propriedades da instância de recurso como JSON e as passa com a opção de entrada .

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

Exemplo 3 – Definir um recurso com propriedades de um arquivo YAML

O comando garante que a Example chave exista no hive de usuário atual. Ele especifica o caminho para um arquivo yaml que define as propriedades da instância de recurso com a opção path .

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

Opções

-r, --resource

Especifica o nome de tipo totalmente qualificado do recurso DSC a ser usado, como Microsoft.Windows/Registry.

A sintaxe de nome de tipo totalmente qualificado é: <owner>[.<group>][.<area>]/<name>, em que:

  • O owner é o autor ou organização que mantém o recurso.
  • Os group e area são componentes de nome opcionais que habilitam o espaçamento de nomes para um recurso.
  • O name identifica o componente que o recurso gerencia.
Type:      String
Mandatory: true

-i, --input

Especifica um objeto JSON ou YAML com as propriedades que definem o estado desejado de uma instância de recurso DSC. O DSC valida o objeto em relação ao esquema de instância do recurso. Se a validação falhar, o DSC gerará um erro.

Essa opção não pode ser usada com propriedades de instância sobre stdin ou a opção --path . Escolha se deseja passar as propriedades da instância para o comando sobre stdin, de um arquivo com a opção --path ou com a opção --input .

Type:      String
Mandatory: false

-p, --path

Define o caminho para um arquivo de texto a ser lido como entrada para o comando em vez de canalizar a entrada de stdin ou passá-la como uma cadeia de caracteres com a opção --input . O arquivo especificado deve conter JSON ou YAML que represente propriedades válidas para o recurso. O DSC valida o objeto em relação ao esquema de instância do recurso. Se a validação falhar ou se o arquivo especificado não existir, o DSC gerará um erro.

Essa opção é mutuamente exclusiva com a opção --input . Quando você usa essa opção, o DSC ignora qualquer entrada de stdin.

Type:      String
Mandatory: false

-f, --format

A --format opção controla o formato de saída do console para o comando . Se a saída do comando for redirecionada ou capturada como uma variável, a saída será sempre JSON.

Type:         String
Mandatory:    false
DefaultValue: yaml
ValidValues:  [json, pretty-json, yaml]

-h, --help

Exibe a ajuda para o comando ou subcomando atual. Quando você especifica essa opção, o aplicativo ignora todas as opções e argumentos após essa.

Type:      Boolean
Mandatory: false

Saída

Esse comando retorna a saída JSON que inclui o estado real da instância antes e depois da operação definida e a lista de propriedades que a operação de conjunto modificou. Para obter mais informações, consulte esquema de resultados do conjunto de recursos dsc.