Freigeben über


Invoke-DscResource

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

Syntax

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

Beschreibung

Das cmdlet Invoke-DscResource führt eine Methode einer angegebenen DSC-Ressource (PowerShell Desired State Configuration) aus.

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. Für die Verwendung zusammengesetzter Ressourcen ist das LCM erforderlich.

Anmerkung

Vor PSDesiredStateConfiguration 2.0.6 erfordert die Verwendung von Invoke-DscResource in PowerShell 7 die Aktivierung eines experimentellen PowerShell-Features. Um das Cmdlet in Den Versionen 2.0.0 bis 2.0.5 zu verwenden, 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 stellt die obligatorischen Path- und Argumente Eigenschaften bereit, 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 WindowsProcessaufgerufen, die sich im Modul PSDesiredStateConfigurationbefindet.

$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.

Typ:String
Zulässige Werte:Get, Set, Test
Position:2
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ModuleName

Gibt den Namen des Moduls an, das die angegebene zu aufrufende DSC-Ressource bereitstellt.

Typ:ModuleSpecification
Position:1
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Gibt den Namen der aufzurufenden DSC-Ressource an.

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Property

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

Typ:Hashtable
Position:3
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

Ausgaben

Hinweise

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

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