스크립트

개요

PowerShell 스크립트 블록을 실행합니다.

구문

Script [String] #ResourceName
{
    GetScript = [string]
    SetScript = [string]
    TestScript = [string]
    [Credential = [PSCredential]]
    [DependsOn = [string[]]]
    [PsDscRunAsCredential = [PSCredential]]
}

Description

Script 리소스를 사용하면 특정 DSC 리소스를 사용할 수 없을 때 리소스를 가져오기, 테스트 및 설정하는 PowerShell 코드를 작성할 수 있습니다. 이러한 메서드에 대한 코드를 제공하고, 모든 종속성을 처리하고, 코드가 idempotent인지 확인해야 합니다.

가능한 경우 이 리소스 대신 정의된 DSC 리소스를 사용하는 것이 좋습니다. 리소스에는 Script 테스트, 유지 관리 및 예측이 더 어렵게 만드는 단점이 있습니다.

다른 DSC 리소스와 달리 리소스의 Script 모든 속성은 키 속성이며 이 리소스에 대한 Get 메서드는 현재 상태에 대한 단일 문자열만 반환할 수 있습니다. 이 리소스가 멱등하게 구현되거나 사용자 지정 코드를 사용하기 때문에 시스템에서 예상대로 작동한다는 보장은 없습니다. 대상 시스템에서 호출되지 않고는 테스트할 수 없습니다.

리소스를 사용하기 전에 리소스를 Script 대신 작성 할 수 있는지 여부를 고려합니다. 잘 정의된 DSC 리소스를 사용하면 구성을 더 읽기 하며 유지 관리할 수 있습니다.

요구 사항

없음

속성

키 속성

GetScript

리소스의 현재 상태를 검색하는 PowerShell scriptblock을 지정합니다. 이 scriptblock은 이 리소스에 대한 Get 메서드가 호출될 때 실행됩니다.

이 scriptblock은 문자열 값이 있는 라는 Result 하나의 키가 포함된 해시 테이블을 반환해야 합니다.

Type: System.String

SetScript

리소스를 원하는 상태로 구성하는 PowerShell scriptblock을 지정합니다. 이 스크립트 블록은 이 리소스에 대한 Set 메서드가 호출될 때 실행됩니다.

이 스크립트 블록은 개체를 출력해서는 안 됩니다. Set 메서드를 두 번 호출하면 대상을 한 번 호출하는 것과 동일한 상태가 되도록 이 스크립트 블록을 멱등적으로 작성해야 합니다.

Type: System.String

TestScript

리소스가 원하는 상태인지 여부를 확인하는 PowerShell scriptblock을 지정합니다. 이 스크립트 블록은 이 리소스에 대한 Test 메서드가 호출될 때 실행됩니다.

이 스크립트 블록은 리소스가 원하는 상태이고 $false 원하는 상태가 아닌 경우 를 반환 $true 해야 합니다.

Type: System.String

선택적 속성

자격 증명

필요한 경우 아래의 scriptblock을 실행할 계정의 자격 증명을 지정합니다.

Type: System.Management.Automation.PSCredential
Default Value: None

읽기 전용 속성

결과

GetScript 스크립트 블록의 결과입니다.

Type: System.String

예제