Invoke-DscResource
Запускает метод указанного ресурса Desired State Configuration PowerShell (DSC).
Синтаксис
Invoke-DscResource
[-Name] <String>
[[-ModuleName] <ModuleSpecification>]
[-Method] <String>
[-Property] <Hashtable>
[<CommonParameters>]
Описание
Командлет Invoke-DscResource
выполняет метод указанного ресурса Desired State Configuration (DSC) среды PowerShell.
Этот командлет вызывает ресурс DSC напрямую, не создавая документ конфигурации. С помощью этого командлета продукты управления конфигурацией могут управлять windows или Linux с помощью ресурсов DSC.
Этот командлет не работает с составными ресурсами. Составные ресурсы являются параметризованными конфигурациями. Для использования составных ресурсов требуется LCM.
Примечание
До psDesiredStateConfiguration 2.0.6 использование Invoke-DscResource
в PowerShell 7 требует включения экспериментальной функции PowerShell. Чтобы использовать командлет в версиях от 2.0.0 до 2.0.5, необходимо включить его с помощью следующей команды.
Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource
Примеры
Пример 1. Вызов метода Set ресурса путем указания его обязательных свойств
В этом примере вызывается метод Set ресурса с именем WindowsProcess и предоставляются обязательные свойства Path и Arguments для запуска указанного процесса Windows.
Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
Path = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
Arguments = ''
}
Пример 2. Вызов метода Test ресурса для указанного модуля
В этом примере вызывается метод Test ресурса с именем WindowsProcess, который находится в модуле PSDesiredStateConfiguration.
$SplatParam = @{
Name = 'WindowsProcess'
ModuleName = 'PSDesiredStateConfiguration'
Method = 'Test'
Property = @{
Path = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
Arguments = ''
}
}
Invoke-DscResource @SplatParam
Параметры
-Method
Указывает метод ресурса, вызываемого этим командлетом. Допустимые значения для этого параметра: 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 больше не поддерживается. При использовании этого ключа командлет создает исключение.
С powerShell 7
Invoke-DscResource
больше не поддерживает вызов ресурсов WMI DSC. Сюда входят ресурсы файл и журнал в PSDesiredStateConfiguration.