Partager via


Invoke-DscResource

Exécute une méthode d’une ressource d’Desired State Configuration PowerShell (DSC) spécifiée.

Syntaxe

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

Description

La cmdlet Invoke-DscResource exécute une méthode d’une ressource Desired State Configuration (DSC) PowerShell spécifiée.

Cette cmdlet appelle directement une ressource DSC sans créer de document de configuration. À l’aide de cette applet de commande, les produits de gestion de la configuration peuvent gérer Windows ou Linux avec des ressources DSC.

Cette applet de commande ne fonctionne pas avec les ressources composites. Les ressources composites sont des configurations paramétrables. L’utilisation de ressources composites nécessite le gestionnaire de configuration local.

Notes

Avant PSDesiredStateConfiguration 2.0.6, l’utilisation Invoke-DscResource de dans PowerShell 7 nécessite l’activation d’une fonctionnalité expérimentale PowerShell. Pour utiliser l’applet de commande dans les versions 2.0.0 à 2.0.5, vous devez l’activer avec la commande suivante.

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

Exemples

Exemple 1 : Appeler la méthode Set d’une ressource en spécifiant ses propriétés obligatoires

Cet exemple appelle la méthode Set d’une ressource nommée WindowsProcess et fournit les propriétés Path et Arguments obligatoires pour démarrer le processus Windows spécifié.

Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
  Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
  Arguments = ''
}

Exemple 2 : Appeler la méthode Test d’une ressource pour un module spécifié

Cet exemple appelle la méthode Test d’une ressource nommée WindowsProcess, qui se trouve dans le module nommé PSDesiredStateConfiguration.

$SplatParam = @{
    Name       = 'WindowsProcess'
    ModuleName = 'PSDesiredStateConfiguration'
    Method     = 'Test'
    Property   = @{
        Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
        Arguments = ''
    }
}

Invoke-DscResource @SplatParam

Paramètres

-Method

Spécifie la méthode de la ressource appelée par cette applet de commande. Les valeurs acceptables pour ce paramètre sont : Get, Set et Test.

Type:String
Valeurs acceptées:Get, Set, Test
Position:2
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ModuleName

Spécifie le nom du module fournissant la ressource DSC spécifiée à appeler.

Type:ModuleSpecification
Position:1
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Name

Spécifie le nom de la ressource DSC à appeler.

Type:String
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Property

Spécifie le nom de propriété de ressource et sa valeur dans une table de hachage comme clé et valeur, respectivement.

Type:Hashtable
Position:3
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

String

ModuleSpecification

Sorties

Object

Notes

  • Dans Windows PowerShell ressources 5.1 s’exécutaient sous le contexte système, sauf si elles sont spécifiées avec le contexte utilisateur à l’aide de la clé PsDscRunAsCredential. Dans PowerShell 7.0, les ressources s’exécutent dans le contexte de l’utilisateur, et PsDscRunAsCredential n’est plus pris en charge. L’utilisation de cette clé entraîne la levée d’une exception par l’applet de commande.

  • À compter de PowerShell 7, Invoke-DscResource ne prend plus en charge l’appel des ressources WMI DSC. Sont incluses les ressources File et Log dans PSDesiredStateConfiguration.