Invoke-DscResource
Kör en metod för en angiven DSC-resurs (Desired State Configuration).
Syntax
Invoke-DscResource
[-Name] <String>
[[-ModuleName] <ModuleSpecification>]
[-Method] <String>
[-Property] <Hashtable>
[<CommonParameters>]
Description
Cmdleten Invoke-DscResource
kör en metod för en angiven DSC-resurs (PowerShell Desired State Configuration).
Den här cmdleten anropar en DSC-resurs direkt, utan att skapa ett konfigurationsdokument. Med den här cmdleten kan konfigurationshanteringsprodukter hantera windows eller Linux med DSC-resurser.
Den här cmdleten fungerar inte med sammansatta resurser. Sammansatta resurser är parametriserade konfigurationer. Användning av sammansatta resurser kräver LCM.
Not
Innan PSDesiredStateConfiguration 2.0.6 måste du aktivera en experimentell PowerShell-funktion med hjälp av Invoke-DscResource
i PowerShell 7. Om du vill använda cmdleten i versionerna 2.0.0 till 2.0.5 måste du aktivera den med följande kommando.
Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource
Exempel
Exempel 1: Anropa metoden Set för en resurs genom att ange dess obligatoriska egenskaper
Det här exemplet anropar metoden Set för en resurs med namnet WindowsProcess och tillhandahåller obligatoriska Path och Argument egenskaper för att starta den angivna Windows-processen.
Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
Path = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
Arguments = ''
}
Exempel 2: Anropa testmetoden för en resurs för en angiven modul
I det här exemplet anropas metoden Test för en resurs med namnet WindowsProcess, som finns i modulen med namnet PSDesiredStateConfiguration.
$SplatParam = @{
Name = 'WindowsProcess'
ModuleName = 'PSDesiredStateConfiguration'
Method = 'Test'
Property = @{
Path = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
Arguments = ''
}
}
Invoke-DscResource @SplatParam
Parametrar
-Method
Anger metoden för den resurs som den här cmdleten anropar. De godtagbara värdena för den här parametern är: Get, Setoch Test.
Typ: | String |
Godkända värden: | Get, Set, Test |
Position: | 2 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ModuleName
Anger namnet på modulen som tillhandahåller den angivna DSC-resursen som ska anropas.
Typ: | ModuleSpecification |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Name
Anger namnet på den DSC-resurs som ska anropas.
Typ: | String |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Property
Anger resursegenskapens namn och dess värde i en hash-tabell som nyckel respektive värde.
Typ: | Hashtable |
Position: | 3 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Utdata
Kommentarer
I Windows PowerShell 5.1 kördes resurser under systemkontexten om de inte anges med användarkontext med hjälp av nyckeln PsDscRunAsCredential. I PowerShell 7.0 körs resurser i användarens kontext och PsDscRunAsCredential- stöds inte längre. Om du använder den här nyckeln utlöser cmdleten ett undantag.
Från och med PowerShell 7 har
Invoke-DscResource
inte längre stöd för att anropa WMI DSC-resurser. Detta inkluderar resurserna File och Log i PSDesiredStateConfiguration.