Invoke-DscResource
Desired State Configuration (DSC) 资源运行指定 PowerShell 的方法。
语法
Invoke-DscResource
[-Name] <String>
[[-ModuleName] <ModuleSpecification>]
[-Method] <String>
[-Property] <Hashtable>
[<CommonParameters>]
说明
Invoke-DscResource
cmdlet 运行指定的 PowerShell 所需状态配置 (DSC) 资源的方法。
此 cmdlet 直接调用 DSC 资源,而无需创建配置文档。 使用此 cmdlet,配置管理产品可以使用 DSC 资源管理 Windows 或 Linux。
此 cmdlet 不适用于复合资源。 复合资源是参数化配置。 使用复合资源需要 LCM。
注意
在 PSDesiredStateConfiguration 2.0.6 之前,在 PowerShell 7 中使用 Invoke-DscResource
需要启用 PowerShell 实验性功能。 若要在版本 2.0.0 到 2.0.5 中使用 cmdlet,必须使用以下命令启用它。
Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource
示例
示例 1:通过指定资源的必需属性来调用其 Set 方法
此示例调用名为 WindowsProcess 的资源的 Set 方法,并提供必需的 Path 和 Arguments 属性来启动指定的 Windows 进程。
Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
Path = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
Arguments = ''
}
示例 2:为指定模块调用资源的 Test 方法
此示例调用名为 WindowsProcess 的资源的 Test 方法,该资源位于名为 PSDesiredStateConfiguration 的模块中。
$SplatParam = @{
Name = 'WindowsProcess'
ModuleName = 'PSDesiredStateConfiguration'
Method = 'Test'
Property = @{
Path = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
Arguments = ''
}
}
Invoke-DscResource @SplatParam
参数
-Method
指定此 cmdlet 调用的资源的方法。 此参数的可接受值为: Get、 Set 和 Test。
Type: | String |
Accepted values: | Get, Set, Test |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModuleName
指定提供要调用的指定 DSC 资源的模块的名称。
Type: | ModuleSpecification |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
指定要调用的 DSC 资源的名称。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Property
分别在哈希表中将资源属性名称及其值指定为键和值。
Type: | Hashtable |
Position: | 3 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
输出
备注
在 Windows PowerShell 5.1 资源在系统上下文下运行,除非使用 PsDscRunAsCredential 键通过用户上下文指定。 在 PowerShell 7.0 中,资源在用户的上下文中运行,并且不再支持 PsDscRunAsCredential 。 使用此键会导致 cmdlet 引发异常。
从 PowerShell 7 起,
Invoke-DscResource
不再支持调用 WMI DSC 资源。 这包括 PSDesiredStateConfiguration 中的文件和日志资源 。