Invoke-DscResource

Runs a method of a specified PowerShell Desired State Configuration (DSC) resource.

语法

Default (默认值)

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

说明

The Invoke-DscResource cmdlet runs a method of a specified PowerShell Desired State Configuration (DSC) resource.

This cmdlet invokes a DSC resource directly, without creating a configuration document. Using this cmdlet, configuration management products can manage windows or Linux with DSC resources.

This cmdlet doesn't work with composite resources. Composite resources are parameterized configurations. Using composite resources requires the LCM.

示例

Example 1: Invoke the Set method of a resource by specifying its mandatory properties

This example invokes the Set method of a resource named WindowsProcess and provides the mandatory Path and Arguments properties to start the specified Windows process.

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

Example 2: Invoke the Test method of a resource for a specified module

This example invokes the Test method of a resource named WindowsProcess, which is in the module named PSDesiredStateConfiguration.

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

Invoke-DscResource @SplatParam

参数

-Method

Specifies the method of the resource that this cmdlet invokes. The acceptable values for this parameter are: Get, Set, and Test.

参数属性

类型:String
默认值:None
接受的值:Get, Set, Test
支持通配符:False
不显示:False

参数集

(All)
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ModuleName

Specifies the name of the module providing the specified DSC Resource to invoke.

参数属性

类型:ModuleSpecification
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:1
必需:False
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Name

Specifies the name of the DSC resource to invoke.

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Property

Specifies the resource property name and its value in a hash table as key and value, respectively.

参数属性

类型:Hashtable
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:3
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

输入

String

ModuleSpecification

输出

Object

备注

  • In Windows PowerShell 5.1 resources ran under the System context unless specified with user context using the key PsDscRunAsCredential. In PowerShell 7.0, Resources run in the user's context, and PsDscRunAsCredential is no longer supported. Using this key causes the cmdlet to throw an exception.

  • As of PowerShell 7, Invoke-DscResource no longer supports invoking WMI DSC resources. This includes the File and Log resources in PSDesiredStateConfiguration.