Поделиться через


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

Входные данные

String

ModuleSpecification

Выходные данные

Object

Примечания

  • В Windows PowerShell 5.1 ресурсы выполнялись в системном контексте, если не указано в контексте пользователя с помощью ключа PsDscRunAsCredential. В PowerShell 7.0 ресурсы выполняются в контексте пользователя, а PsDscRunAsCredential больше не поддерживается. При использовании этого ключа командлет создает исключение.

  • С powerShell 7 Invoke-DscResource больше не поддерживает вызов ресурсов WMI DSC. Сюда входят ресурсы файл и журнал в PSDesiredStateConfiguration.