Delen via


Invoke-DscResource

Voert een methode uit van een opgegeven DSC-resource (PowerShell Desired State Configuration).

Syntaxis

Invoke-DscResource
      [-Name] <String>
      [[-ModuleName] <ModuleSpecification>]
      [-Method] <String>
      [-Property] <Hashtable>
      [<CommonParameters>]

Description

De cmdlet Invoke-DscResource voert een methode uit van een opgegeven DSC-resource (PowerShell Desired State Configuration).

Met deze cmdlet wordt een DSC-resource rechtstreeks aangeroepen zonder een configuratiedocument te maken. Met deze cmdlet kunnen configuratiebeheerproducten Windows of Linux beheren met DSC-resources.

Deze cmdlet werkt niet met samengestelde resources. Samengestelde resources zijn geparameteriseerde configuraties. Voor het gebruik van samengestelde resources is de LCM vereist.

Notitie

Voordat PSDesiredStateConfiguration 2.0.6 wordt gebruikt, moet Invoke-DscResource in PowerShell 7 een experimentele PowerShell-functie inschakelen. Als u de cmdlet in versie 2.0.0 tot en met 2.0.5 wilt gebruiken, moet u deze inschakelen met de volgende opdracht.

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

Voorbeelden

Voorbeeld 1: De setmethode van een resource aanroepen door de verplichte eigenschappen ervan op te geven

In dit voorbeeld wordt de methode Set van een resource met de naam WindowsProcess aangeroepen en wordt het verplichte pad en argumenten eigenschappen geboden om het opgegeven Windows-proces te starten.

Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
  Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
  Arguments = ''
}

Voorbeeld 2: De testmethode van een resource voor een opgegeven module aanroepen

In dit voorbeeld wordt de methode Test van een resource met de naam WindowsProcessaangeroepen. Deze bevindt zich in de module met de naam PSDesiredStateConfiguration.

$SplatParam = @{
    Name       = 'WindowsProcess'
    ModuleName = 'PSDesiredStateConfiguration'
    Method     = 'Test'
    Property   = @{
        Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
        Arguments = ''
    }
}

Invoke-DscResource @SplatParam

Parameters

-Method

Hiermee geeft u de methode op van de resource die door deze cmdlet wordt aangeroepen. De acceptabele waarden voor deze parameter zijn: Get, Seten Test.

Type:String
Geaccepteerde waarden:Get, Set, Test
Position:2
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ModuleName

Hiermee geeft u de naam van de module die de opgegeven DSC-resource opgeeft die moet worden aangeroepen.

Type:ModuleSpecification
Position:1
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Name

Hiermee geeft u de naam op van de DSC-resource die moet worden aangeroepen.

Type:String
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Property

Hiermee geeft u de naam van de resource-eigenschap en de bijbehorende waarde in een hash-tabel op als sleutel en waarde, respectievelijk.

Type:Hashtable
Position:3
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

Uitvoerwaarden

Notities

  • In Windows PowerShell 5.1-resources zijn uitgevoerd onder de systeemcontext, tenzij deze zijn opgegeven met gebruikerscontext met behulp van de sleutel PsDscRunAsCredential. In PowerShell 7.0 worden resources uitgevoerd in de context van de gebruiker en wordt PsDscRunAsCredential- niet meer ondersteund. Als u deze sleutel gebruikt, genereert de cmdlet een uitzondering.

  • Vanaf PowerShell 7 biedt Invoke-DscResource geen ondersteuning meer voor het aanroepen van WMI DSC-resources. Dit omvat de resources File en Log in PSDesiredStateConfiguration-.