Dela via


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

String

ModuleSpecification

Utdata

Object

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.