다음을 통해 공유


dsc 리소스 테스트

개요

리소스의 테스트 작업을 호출합니다.

Syntax

stdin의 인스턴스 속성

<instance-properties> | dsc resource set [Options] --resource <RESOURCE>

입력 옵션의 인스턴스 속성

dsc resource set --input '<instance-properties>' --resource <RESOURCE>

파일의 인스턴스 속성

dsc resource set --path <instance-properties-filepath> --resource <RESOURCE>

Description

test 하위 명령은 원하는 상태에 대해 리소스 instance 실제 상태의 유효성을 검사합니다.

이 하위 명령은 특정 DSC 리소스의 instance 하나를 테스트합니다. 여러 리소스를 테스트하려면 리소스 그룹 또는 dsc 구성 테스트 명령을 사용합니다.

테스트할 instance 원하는 상태를 JSON 또는 YAML 개체로 이 명령에 전달해야 합니다. 개체 속성은 리소스에 대한 유효한 속성이어야 합니다. instance 속성은 stdin, 옵션이 있는 문자열 --input 또는 옵션이 있는 저장된 파일에서 이 명령으로 --path 전달할 수 있습니다.

자체 테스트 작업을 정의하지 않는 명령 기반 DSC 리소스에 대해 이 명령이 호출되면 DSC는 가상 테스트를 수행합니다. 가상 테스트는 실제 상태와 instance 원하는 상태에 대한 각 속성을 비교합니다. 가상 테스트는 대/소문자를 구분하는 엄격한 동등성을 사용합니다. 속성에 대해 원하는 상태와 실제 상태가 동일하지 않은 경우 DSC는 속성을 원하는 상태로 표시합니다.

이 명령은 다음 두 가지 조건에서만 instance 속성의 유효성을 검사합니다.

  1. 속성이 원하는 상태 입력에 명시적으로 포함되는 경우
  2. 속성에 기본값이 있고 원하는 상태 입력에 명시적으로 포함되지 않은 경우

예제

예제 1 - stdin의 속성을 사용하여 리소스 테스트

명령은 키가 현재 사용자 하이브에 있는지 여부를 Example 테스트합니다. 리소스 instance 속성을 JSON으로 지정하고 stdin에서 전달합니다.

'{
    "keyPath": "HKCU\\Example",
    "_exist": true
}' | dsc resource test --resource Microsoft.Windows/Registry

예제 2 - 입력 옵션을 사용하여 리소스 테스트

명령은 키가 현재 사용자 하이브에 있는지 여부를 Example 테스트합니다. 리소스 instance 속성을 JSON으로 지정하고 입력 옵션을 사용하여 전달합니다.

dsc resource test --resource Microsoft.Windows/Registry --input '{
    "keyPath": "HKCU\\Example",
    "_exist": true
}'

예제 3 - YAML 파일의 속성을 사용하여 리소스 테스트

명령은 키가 현재 사용자 하이브에 있는지 여부를 Example 테스트합니다. 경로 옵션을 사용하여 리소스 instance 속성을 정의하는 YAML 파일의 경로를 지정합니다.

keyPath: HKCU\\Example
_exist:  true
dsc resource test --resource Microsoft.Windows/Registry --path ./example.yaml

옵션

-r, --resource

와 같이 Microsoft.Windows/Registry사용할 DSC 리소스의 정규화된 형식 이름을 지정합니다.

정규화된 형식 이름 구문은 입니다 <owner>[.<group>][.<area>]/<name>. 여기서:

  • owner 리소스에 대한 유지 관리 작성자 또는 organization.
  • areagroup 리소스에 대한 이름 간격을 사용하도록 설정하는 선택적 이름 구성 요소입니다.
  • name 리소스가 관리하는 구성 요소를 식별합니다.
Type:      String
Mandatory: true

-i, --input

DSC 리소스 instance 원하는 상태를 정의하는 속성을 사용하여 JSON 또는 YAML 개체를 지정합니다. DSC는 리소스의 instance 스키마에 대해 개체의 유효성을 검사합니다. 유효성 검사에 실패하면 DSC에서 오류가 발생합니다.

이 옵션은 stdin 또는 --path 옵션에 대한 instance 속성과 함께 사용할 수 없습니다. stdin을 통해 명령, 옵션이 있는 파일 --path 또는 옵션을 --input 사용하여 instance 속성을 전달할지 여부를 선택합니다.

Type:      String
Mandatory: false

-p, --path

stdin에서 입력을 파이핑하거나 옵션을 사용하여 문자열로 전달하는 대신 명령에 대한 입력으로 읽을 텍스트 파일의 --input 경로를 정의합니다. 지정된 파일에는 리소스에 대한 유효한 속성을 나타내는 JSON 또는 YAML이 포함되어야 합니다. DSC는 리소스의 instance 스키마에 대해 개체의 유효성을 검사합니다. 유효성 검사에 실패하거나 지정된 파일이 없으면 DSC에서 오류가 발생합니다.

이 옵션은 옵션과 함께 사용할 수 없습니다 --input . 이 옵션을 사용하면 DSC는 stdin의 입력을 무시합니다.

Type:      String
Mandatory: false

-f, --format

옵션은 --format 명령에 대한 콘솔 출력 형식을 제어합니다. 명령 출력이 변수로 리디렉션되거나 캡처되는 경우 출력은 항상 JSON입니다.

Type:         String
Mandatory:    false
DefaultValue: yaml
ValidValues:  [json, pretty-json, yaml]

-h, --help

현재 명령 또는 하위 명령에 대한 도움말을 표시합니다. 이 옵션을 지정하면 애플리케이션은 이 옵션 다음에 있는 모든 옵션과 인수를 무시합니다.

Type:      Boolean
Mandatory: false

출력

이 명령은 instance 원하는 상태, 실제 상태, 원하는 상태를 벗어난 속성 목록 및 instance 원하는 상태인지 여부를 나타내는 부울 값을 포함하는 JSON 출력을 반환합니다. 자세한 내용은 dsc 리소스 테스트 결과 스키마를 참조하세요.