Invoke-DscResource
Kör en metod för en angiven PowerShell Desired State Configuration-resurs (DSC).
Syntax
Invoke-DscResource
[-Name] <String>
[[-ModuleName] <ModuleSpecification>]
[-Method] <String>
[-Property] <Hashtable>
[<CommonParameters>]
Description
Cmdleten Invoke-DscResource
kör en metod för en angiven PowerShell Desired State Configuration-resurs (DSC).
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.
Anteckning
Innan PSDesiredStateConfiguration 2.0.6 måste du aktivera en Experimentell PowerShell-funktion med hjälp av Invoke-DscResource
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 de obligatoriska egenskaperna Sökväg och Argument 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
Det här exemplet anropar testmetoden 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 denna cmdlet anropar. De godkända värdena för den här parametern är: Get, Set och Test.
Type: | String |
Accepted values: | Get, Set, Test |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModuleName
Anger namnet på modulen som tillhandahåller den angivna DSC-resursen som ska anropas.
Type: | ModuleSpecification |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Anger namnet på DSC-resursen som ska anropas.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Property
Anger resursegenskapens namn och dess värde i en hash-tabell som nyckel respektive värde.
Type: | Hashtable |
Position: | 3 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Utdata
Kommentarer
I Windows PowerShell kördes 5.1-resurser under systemkontexten om de inte anges med användarkontexten 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 stöder
Invoke-DscResource
inte längre anrop av WMI DSC-resurser. Detta inkluderar fil- och loggresurserna i PSDesiredStateConfiguration.