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
Saídas
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.