Compartilhar via


Invoke-DscResource

Executa um método de um recurso de Desired State Configuration (DSC) do PowerShell especificado.

Syntax

Invoke-DscResource
      [-Name] <String>
      [[-ModuleName] <ModuleSpecification>]
      [-Method] <String>
      [-Property] <Hashtable>
      [<CommonParameters>]

Description

O cmdlet Invoke-DscResource executa um método de um recurso de DSC (Desired State Configuration) do PowerShell especificado.

Esse cmdlet invoca um recurso de DSC diretamente, sem criar um documento de configuração. Usando esse cmdlet, os produtos de gerenciamento de configuração podem gerenciar windows ou Linux com recursos DSC.

Esse cmdlet não funciona com recursos compostos. Os recursos compostos são configurações parametrizadas. O uso de recursos compostos requer o LCM.

Observação

Antes de PSDesiredStateConfiguration 2.0.6, usar Invoke-DscResource no PowerShell 7 requer habilitar um recurso experimental do PowerShell. Para usar o cmdlet nas versões 2.0.0 a 2.0.5, habilite-o com o comando a seguir.

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

Exemplos

Exemplo 1: Invocar o método Set de um recurso especificando suas propriedades obrigatórias

Este exemplo invoca o método Set de um recurso chamado WindowsProcess e fornece as propriedades path earguments obrigatórias para iniciar o processo especificado do Windows.

Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
  Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
  Arguments = ''
}

Exemplo 2: Invocar o método Test de um recurso para um módulo especificado

Este exemplo invoca o método Test de um recurso chamado WindowsProcess, que está no módulo chamado PSDesiredStateConfiguration.

$SplatParam = @{
    Name       = 'WindowsProcess'
    ModuleName = 'PSDesiredStateConfiguration'
    Method     = 'Test'
    Property   = @{
        Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
        Arguments = ''
    }
}

Invoke-DscResource @SplatParam

Parâmetros

-Method

Especifica o método do recurso que esse cmdlet invoca. Os valores aceitáveis para esse parâmetro são: Get, Set e Test.

Type:String
Accepted values:Get, Set, Test
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ModuleName

Especifica o nome do módulo que fornece o recurso DSC especificado a ser invocado.

Type:ModuleSpecification
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Especifica o nome do recurso DSC a ser invocado.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Property

Especifica o nome da propriedade de recurso e seu valor em uma tabela de hash como chave e valor, respectivamente.

Type:Hashtable
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Entradas

String

ModuleSpecification

Saídas

Object

Observações

  • Em Windows PowerShell recursos 5.1 executados no contexto do sistema, a menos que especificado com o contexto do usuário usando a chave PsDscRunAsCredential. No PowerShell 7.0, os recursos são executados no contexto do usuário e não há mais suporte para PsDscRunAsCredential . Usar essa chave faz com que o cmdlet gere uma exceção.

  • A partir do PowerShell 7, Invoke-DscResource não há mais suporte para invocar recursos do WMI DSC. Isso inclui os recursos de Arquivo e Log em PSDesiredStateConfiguration.