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