Share via


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

String

ModuleSpecification

Utdata

Object

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.