Compartir a través de


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

String

ModuleSpecification

Salidas

Object

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.