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