Compartir a través de


Invoke-DscResource

Ejecuta un método de un recurso de Configuración de estado deseado (DSC) de PowerShell especificado.

Sintaxis

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

Description

El cmdlet Invoke-DscResource ejecuta un método de un recurso de Configuración de estado deseado (DSC) de PowerShell especificado.

Este cmdlet invoca directamente un recurso de DSC 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 de Invoke-DscResource 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 comando siguiente.

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 obligatorias Path y Arguments 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 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 al que invoca este cmdlet. Los valores aceptables para este parámetro son: Get, Sety Test.

Tipo:String
Valores aceptados:Get, Set, Test
Posición:2
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ModuleName

Especifica el nombre del módulo que proporciona el recurso DSC especificado que se va a invocar.

Tipo:ModuleSpecification
Posición:1
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Name

Especifica el nombre del recurso de DSC que se va a invocar.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Property

Especifica el nombre de la propiedad de recurso y su valor en una tabla hash como clave y valor, respectivamente.

Tipo:Hashtable
Posición:3
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

String

ModuleSpecification

Salidas

Object

Notas

  • En los recursos de Windows PowerShell 5.1 se ejecutó 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 ya no se admite psDscRunAsCredential. 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 de de archivos de y Log en PSDesiredStateConfiguration.