Share via


Invoke-DscResource

Hiermee wordt een methode van een opgegeven PowerShell Desired State Configuration (DSC)-resource uitgevoerd.

Syntax

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

Description

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

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 configuraties met parameters. Voor het gebruik van samengestelde resources is LCM vereist.

Notitie

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

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

Voorbeelden

Voorbeeld 1: de methode Set van een resource aanroepen door de verplichte eigenschappen op te geven

In dit voorbeeld wordt de methode Set van een resource met de naam WindowsProcess aangeroepen en worden de verplichte eigenschappen Pad en Argumenten weergegeven 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 testmethode aangeroepen van een resource met de naam WindowsProcess, die zich in de module PSDesiredStateConfiguration bevindt.

$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 van de resource die deze cmdlet aanroept. De acceptabele waarden voor deze parameter zijn: Ophalen, Instellen en Testen.

Type:String
Accepted values:Get, Set, Test
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ModuleName

Hiermee geeft u de naam van de module die de opgegeven DSC-resource aanroept.

Type:ModuleSpecification
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Hiermee geeft u de naam van de DSC-resource aan te roepen.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Property

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

Type:Hashtable
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

String

ModuleSpecification

Uitvoerwaarden

Object

Notities

  • In Windows PowerShell 5.1-resources uitgevoerd onder de systeemcontext, tenzij 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. Het gebruik van deze sleutel zorgt ervoor dat de cmdlet een uitzondering genereert.

  • Vanaf PowerShell 7 Invoke-DscResource wordt het aanroepen van WMI DSC-resources niet meer ondersteund. Dit omvat de bestands- en logboekresources in PSDesiredStateConfiguration.