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.