Invoke-DscResource
執行指定之 PowerShell Desired State Configuration (DSC) 資源的方法。
Syntax
Invoke-DscResource
[-Name] <String>
[[-ModuleName] <ModuleSpecification>]
[-Method] <String>
[-Property] <Hashtable>
[<CommonParameters>]
Description
Invoke-DscResource
Cmdlet 會執行指定之 PowerShell Desired State Configuration (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 中的檔案和記錄資源。