다음을 통해 공유


Invoke-DscResource

지정된 DSC(PowerShell Desired State Configuration) 리소스의 메서드를 실행합니다.

Syntax

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

Description

Invoke-DscResource cmdlet은 지정된 PowerShell DSC(Desired State Configuration) 리소스의 메서드를 실행합니다.

이 cmdlet은 구성 문서를 만들지 않고 DSC 리소스를 직접 호출합니다. 구성 관리 제품은 이 cmdlet을 사용하여 DSC 리소스를 사용하여 Windows 또는 Linux를 관리할 수 있습니다.

이 cmdlet은 복합 리소스에서 작동하지 않습니다. 복합 리소스는 매개 변수가 있는 구성입니다. 복합 리소스를 사용하려면 LCM이 필요합니다.

참고

PSDesiredStateConfiguration 2.0.6 이전에는 PowerShell 7에서 를 사용 Invoke-DscResource 하려면 PowerShell 실험적 기능을 사용하도록 설정해야 합니다. 버전 2.0.0~2.0.5에서 cmdlet을 사용하려면 다음 명령을 사용하여 cmdlet을 사용하도록 설정해야 합니다.

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

예제

예제 1: 필수 속성을 지정하여 리소스의 Set 메서드 호출

이 예제에서는 WindowsProcess라는 리소스의 Set 메서드를 호출하고 필수 경로인수 속성을 제공하여 지정된 Windows 프로세스를 시작합니다.

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

예제 2: 지정된 모듈에 대한 리소스의 테스트 메서드 호출

이 예제에서는 PSDesiredStateConfiguration이라는 모듈에 있는 WindowsProcess라는 리소스의 Test 메서드를 호출합니다.

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

Invoke-DscResource @SplatParam

매개 변수

-Method

이 cmdlet에서 호출하는 리소스의 메서드를 지정합니다. 이 매개 변수에 허용되는 값은 Get, SetTest입니다.

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 은 더 이상 지원되지 않습니다. 이 키를 사용하면 cmdlet에서 예외가 throw됩니다.

  • PowerShell 7 Invoke-DscResource 을 기준으로 는 더 이상 WMI DSC 리소스 호출을 지원하지 않습니다. 여기에는 PSDesiredStateConfigurationFileLog 리소스가 포함됩니다.