Partilhar 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 Invoke-DscResource cmdlet executa um método de um recurso de Desired State Configuration (DSC) do PowerShell especificado.

Este cmdlet invoca um recurso do DSC diretamente, sem criar um documento de configuração. Com este cmdlet, os produtos de gestão de configuração podem gerir windows ou Linux com recursos DSC.

Este cmdlet não funciona com recursos compostos. Os recursos compostos são configurações parametrizadas. A utilização de recursos compostos requer o LCM.

Nota

Antes de PSDesiredStateConfiguration 2.0.6, a utilização Invoke-DscResource no PowerShell 7 requer a ativação de uma funcionalidade experimental do PowerShell. Para utilizar o cmdlet nas versões 2.0.0 a 2.0.5, tem de o ativar com o seguinte comando.

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

Exemplos

Exemplo 1: Invocar o método Set de um recurso ao especificar as respetivas propriedades obrigatórias

Este exemplo invoca o método Set de um recurso com o nome WindowsProcess e fornece as propriedades obrigatórias Caminho e Argumentos para iniciar o processo do Windows especificado.

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 com o nome WindowsProcess, que está no módulo denominado 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 este cmdlet invoca. Os valores aceitáveis para este parâmetro são: Obter, Definir e Testar.

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 de DSC especificado a invocar.

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

-Name

Especifica o nome do recurso do DSC a invocar.

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 o respetivo valor numa tabela hash como chave e valor, respetivamente.

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

Entradas

String

ModuleSpecification

Saídas

Object

Notas

  • No Windows PowerShell 5.1 recursos executados no contexto do Sistema, a menos que seja especificado com o contexto de utilizador com a chave PsDscRunAsCredential. No PowerShell 7.0, os recursos são executados no contexto do utilizador e o PsDscRunAsCredential já não é suportado. A utilização desta chave faz com que o cmdlet lance uma exceção.

  • A partir do PowerShell 7, Invoke-DscResource já não suporta a invocação de recursos do WMI DSC. Isto inclui os recursos Ficheiro e Registo em PSDesiredStateConfiguration.