Cmdlet 특성 선언
Cmdlet 특성은 Microsoft .NET Framework 클래스를 cmdlet으로 식별하고 cmdlet을 호출하는 데 사용되는 동사와 명사를 지정합니다.
구문론
[Cmdlet("verbName", "nounName")]
[Cmdlet("verbName", "nounName", Named Parameters...)]
매개 변수
VerbName
(system.String) 필수 항목입니다. cmdlet 동사를 지정합니다. 이 동사는 cmdlet에서 수행한 작업을 지정합니다. 승인된 cmdlet 동사에 대한 자세한 내용은 Cmdlet 동사 이름 및 필수 개발 지침참조하세요.
NounName
(system.String) 필수 항목입니다. cmdlet 명사 지정 이 명사에서는 cmdlet이 작동하는 리소스를 지정합니다. cmdlet 명사에 대한 자세한 내용은 Cmdlet 선언 및 강력한 권장 개발 지침 참조하세요.
SupportsShouldProcess
(System.Boolean) 선택적 명명된 매개 변수입니다.
True
cmdlet이 System.Management.Automation.Cmdlet.ShouldProcess 메서드에 대한 호출을 지원한다는 것을 나타냅니다. 이 메서드는 시스템을 변경하는 작업이 수행되기 전에 사용자에게 메시지를 표시하는 방법을 cmdlet에 제공합니다. 기본값인 False
cmdlet이 System.Management.Automation.Cmdlet.ShouldProcess 메서드에 대한 호출을 지원하지 않음을 나타냅니다. 확인 요청에 대한 자세한 내용은 확인 요청을 참조하세요.
ConfirmImpact
(System.Management.Automation.ConfirmImpact) 선택적 명명된 매개 변수입니다.
System.Management.Automation.Cmdlet.ShouldProcess 메서드를 호출하여 cmdlet의 동작을 확인하는 시기를 지정합니다.
System.Management.Automation.Cmdlet.ShouldProcess cmdlet의 ConfirmImpact 값(기본적으로 중간)이 $ConfirmPreference
변수 값과 같거나 큰 경우에만 호출됩니다. 이 매개 변수는 SupportsShouldProcess
매개 변수가 지정된 경우에만 지정해야 합니다.
DefaultParameterSetName
(System.String) 선택적 명명된 매개 변수입니다. 사용할 매개 변수 집합을 확인할 수 없을 때 Windows PowerShell 런타임에서 사용하려고 시도하는 기본 매개 변수 집합을 지정합니다. 각 매개 변수의 고유 매개 변수를 필수 매개 변수로 설정하여 이 상황을 제거할 수 있습니다.
기본 매개 변수 집합 이름을 지정한 경우에도 Windows PowerShell에서 기본 매개 변수 집합을 사용할 수 없는 경우가 있습니다. Windows PowerShell 런타임은 개체 형식만을 기반으로 하는 매개 변수 집합을 구분할 수 없습니다. 예를 들어 문자열을 파일 경로로 사용하는 매개 변수 집합 하나와 FileInfo 개체를 직접 사용하는 다른 집합이 있는 경우 Windows PowerShell은 cmdlet에 전달된 값에 따라 사용할 매개 변수 집합을 확인할 수 없으며 기본 매개 변수 집합을 사용하지도 않습니다. 이 경우 기본 매개 변수 집합 이름을 지정하더라도 Windows PowerShell은 모호한 매개 변수 집합 오류 메시지를 throw합니다.
SupportsTransactions
(System.Boolean) 선택적 명명된 매개 변수입니다.
True
cmdlet을 트랜잭션 내에서 사용할 수 있음을 나타냅니다.
True
지정하면 Windows PowerShell 런타임은 UseTransaction
매개 변수를 cmdlet의 매개 변수 목록에 추가합니다. 기본값인 False
cmdlet을 트랜잭션 내에서 사용할 수 없음을 나타냅니다.
비고
동사와 명사는 함께 등록된 cmdlet을 식별하고 스크립트 내에서 cmdlet을 호출하는 데 사용됩니다.
Windows PowerShell 콘솔에서 cmdlet을 호출할 때 명령은 다음 명령과 유사합니다.
VerbName-NounName
- Windows PowerShell 외부에서 리소스를 변경하는 모든 cmdlet에는 cmdlet 특성이 선언될 때
SupportsShouldProcess
키워드가 포함되어야 합니다. 이 키워드를 사용하면 cmdlet이 해당 작업을 수행하기 전에 System.Management.Automation.Cmdlet.ShouldProcess 메서드를 호출할 수 있습니다. System.Management.Automation.Cmdlet.ShouldProcess 호출이false
반환하는 경우 작업을 수행해서는 안 됩니다. System.Management.Automation.Cmdlet.ShouldProcess 호출에서 생성된 확인 요청에 대한 자세한 내용은 요청 확인참조하세요.
Confirm
및 WhatIf
cmdlet 매개 변수는 System.Management.Automation.Cmdlet.ShouldProcess 호출을 지원하는 cmdlet에만 사용할 수 있습니다.
예시
다음 클래스 정의는 Cmdlet 특성을 사용하여 로컬 컴퓨터에서 실행되는 프로세스에 대한 정보를 검색하는 Get-Proc cmdlet에 대한 .NET Framework 클래스를 식별합니다.
[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet
Get-Proc cmdlet에 대한 자세한 내용은 GetProc 자습서참조하세요.
또한 참조하십시오
PowerShell