Invoke-DscResource
Ejecuta un método de un recurso de Desired State Configuration (DSC) de PowerShell especificado.
Syntax
Invoke-DscResource
[-Name] <String>
[[-ModuleName] <ModuleSpecification>]
[-Method] <String>
[-Property] <Hashtable>
[<CommonParameters>]
Description
El cmdlet Invoke-DscResource
ejecuta un método de un recurso de Desired State Configuration (DSC) de PowerShell especificado.
Este cmdlet invoca un recurso de DSC directamente, sin crear un documento de configuración. Con este cmdlet, los productos de administración de configuración pueden administrar windows o Linux con recursos de DSC.
Este cmdlet no funciona con recursos compuestos. Los recursos compuestos son configuraciones parametrizadas. El uso de recursos compuestos requiere el LCM.
Nota
Antes de PSDesiredStateConfiguration 2.0.6, el uso Invoke-DscResource
de en PowerShell 7 requiere habilitar una característica experimental de PowerShell. Para usar el cmdlet en las versiones 2.0.0 a 2.0.5, debe habilitarlo con el siguiente comando.
Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource
Ejemplos
Ejemplo 1: Invocar el método Set de un recurso especificando sus propiedades obligatorias
En este ejemplo se invoca el método Set de un recurso denominado WindowsProcess y se proporcionan las propiedades Path y Arguments obligatorias para iniciar el proceso de Windows especificado.
Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
Path = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
Arguments = ''
}
Ejemplo 2: Invocar el método Test de un recurso para un módulo especificado
En este ejemplo se invoca el método Test de un recurso denominado WindowsProcess, que se encuentra en el 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 el método del recurso que invoca este cmdlet. Los valores aceptables para este parámetro son: Get, Set y 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 el nombre del módulo que proporciona el recurso de DSC especificado que se va a invocar.
Type: | ModuleSpecification |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Especifica el nombre del recurso de DSC que se va a invocar.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Property
Especifica el nombre de la propiedad del recurso y su valor en una tabla hash como clave y valor, respectivamente.
Type: | Hashtable |
Position: | 3 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Salidas
Notas
En Windows PowerShell 5.1 los recursos se ejecutaron en el contexto del sistema, a menos que se especifique con el contexto de usuario mediante la clave PsDscRunAsCredential. En PowerShell 7.0, los recursos se ejecutan en el contexto del usuario y PsDscRunAsCredential ya no se admite. El uso de esta clave hace que el cmdlet produzca una excepción.
A partir de PowerShell 7,
Invoke-DscResource
ya no admite la invocación de recursos de DSC de WMI. Esto incluye los recursos File y Log en PSDesiredStateConfiguration.