Invoke-DscResource

Führt eine Methode einer angegebenen PowerShell-Desired State Configuration-Ressource (DSC) aus.

Syntax

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

Beschreibung

Mit dem Cmdlet Invoke-DscResource wird eine Methode einer angegebenen PowerShell DSC-Ressource (Desired State Configuration) ausgeführt.

Dieses Cmdlet ruft eine DSC-Ressource direkt auf, ohne ein Konfigurationsdokument zu erstellen. Mithilfe dieses Cmdlets können Konfigurationsverwaltungsprodukte Windows oder Linux mit DSC-Ressourcen verwalten.

Dieses Cmdlet funktioniert nicht mit zusammengesetzten Ressourcen. Zusammengesetzte Ressourcen sind parametrisierte Konfigurationen. Die Verwendung zusammengesetzter Ressourcen erfordert das LCM.

Hinweis

Vor PSDesiredStateConfiguration 2.0.6 erfordert die Verwendung Invoke-DscResource in PowerShell 7 die Aktivierung eines experimentellen PowerShell-Features. Um das Cmdlet in den Versionen 2.0.0 bis 2.0.5 verwenden zu können, müssen Sie es mit dem folgenden Befehl aktivieren.

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

Beispiele

Beispiel 1: Aufrufen der Set-Methode einer Ressource durch Angeben der obligatorischen Eigenschaften

In diesem Beispiel wird die Set-Methode einer Ressource namens WindowsProcess aufgerufen und die obligatorischen Eigenschaften Path und Arguments bereitgestellt, um den angegebenen Windows-Prozess zu starten.

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

Beispiel 2: Aufrufen der Testmethode einer Ressource für ein angegebenes Modul

In diesem Beispiel wird die Test-Methode einer Ressource namens WindowsProcess aufgerufen, die sich im Modul PSDesiredStateConfiguration befindet.

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

Invoke-DscResource @SplatParam

Parameter

-Method

Gibt die Methode der Ressource an, die dieses Cmdlet aufruft. Die zulässigen Werte für diesen Parameter sind Get, Set und Test.

Type:String
Accepted values:Get, Set, Test
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ModuleName

Gibt den Namen des Moduls an, das die angegebene DSC-Ressource zum Aufrufen bereitstellt.

Type:ModuleSpecification
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Gibt den Namen der aufzurufenden DSC-Ressource an.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Property

Gibt den Namen der Ressourceneigenschaft und deren Wert in einer Hashtabelle als Schlüssel und Wert an.

Type:Hashtable
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

String

ModuleSpecification

Ausgaben

Object

Hinweise

  • In Windows PowerShell 5.1-Ressourcen wurden unter dem Systemkontext ausgeführt, es sei denn, dies wird im Benutzerkontext mithilfe des Schlüssels PsDscRunAsCredential angegeben. In PowerShell 7.0 werden Ressourcen im Kontext des Benutzers ausgeführt, und PsDscRunAsCredential wird nicht mehr unterstützt. Wenn Sie diesen Schlüssel verwenden, löst das Cmdlet eine Ausnahme aus.

  • Ab PowerShell 7 Invoke-DscResource wird das Aufrufen von WMI DSC-Ressourcen nicht mehr unterstützt. Dies gilt auch für die Ressourcen File und Log in PSDesiredStateConfiguration.