Microsoft .NET Framework 클래스는 Cmdlet 특성을 클래스의 메타데이터로 지정하여 cmdlet으로 선언됩니다. (Cmdlet 특성은 모든 cmdlet에 필요한 유일한 특성입니다.) Cmdlet 특성을 지정할 때는 사용자에게 cmdlet을 식별하는 동사 및 명사 쌍을 지정해야 합니다. 또한 cmdlet에서 지원하는 Windows PowerShell 기능을 설명해야 합니다. Cmdlet 특성을 지정하는 데 사용되는 선언 구문에 대한 자세한 내용은 Cmdlet 특성 선언 을참조하세요.
참고
Cmdlet 특성은 System.Management.Automation.CmdletAttribute 클래스에 의해 정의됩니다. 이 클래스의 속성은 특성을 선언할 때 사용되는 선언 매개 변수에 해당합니다.
명사
cmdlet의 명사 는 cmdlet이 작동할 리소스를 지정합니다. 명사 는 cmdlet을 다른 cmdlet과 구분합니다.
cmdlet 이름의 명사에는 구체적이어야 하며 서버와 같은 일반 명사인 경우 리소스를 다른 유사한 리소스와 구별하는 짧은 접두사 를 추가하는 것이 가장 좋습니다. 예를 들어 접두사로 명사 를 포함하는 cmdlet 이름은 Get-SQLServer 입니다. 보다 일반적인 동사와 특정 명사를 조합하면 사용자가 해당 작업으로 cmdlet을 빠르게 찾은 다음, 불필요한 cmdlet 이름 중복을 방지하면서 리소스로 cmdlet을 식별할 수 있습니다.
cmdlet 이름에 사용할 수 없는 특수 문자 목록은 필수 개발 지침 을 참조하세요.
동사
동사를 지정하는 경우 개발 지침에 따라 Windows PowerShell 제공된 미리 정의된 동사 중 하나를 사용해야 합니다. 이러한 미리 정의된 동사 중 하나를 사용하면 작성하는 cmdlet과 Microsoft 및 다른 사람이 작성한 cmdlet 간에 일관성을 유지할 수 있습니다. 예를 들어 "Get" 동사는 데이터를 검색하는 cmdlet에 사용됩니다.
동사에 대한 지침에 대한 자세한 내용은 Cmdlet 동사 이름 을 참조하세요. cmdlet 이름에 사용할 수 없는 특수 문자 목록은 필수 개발 지침 을 참조하세요.
Windows PowerShell 기능 지원
Cmdlet 특성을 사용하면 cmdlet이 Windows PowerShell 제공하는 일반적인 기능 중 일부를 지원하도록 지정할 수도 있습니다. 여기에는 사용자 피드백 확인(ShouldProcess 기능에 대한 지원이라고 함) 및 트랜잭션 지원과 같은 일반적인 기능에 대한 지원이 포함됩니다. (트랜잭션에 대한 지원은 Windows PowerShell 2.0에서 도입되었습니다.)
Cmdlet 특성을 지정하는 데 사용되는 선언 구문에 대한 자세한 내용은 Cmdlet 특성 선언 을참조하세요.
Cmdlet 클래스 정의
다음 코드는 GetProc cmdlet 클래스에 대한 정의입니다. 파스칼식 대/소문자 구분이 사용되고 클래스 이름에 cmdlet의 동사와 명사가 포함됩니다.
[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet
파스칼 대/소문자 구분
cmdlet의 이름을 지정할 때 파스칼식 대/소문자를 사용합니다. 예를 들어 Get-Item 및 Get-ItemProperty cmdlet은 cmdlet의 이름을 지정할 때 대문자를 사용하는 올바른 방법을 보여줍니다.
참고 항목
System.Management.Automation.CmdletAttribute
Writing a Windows PowerShell Cmdlet(Windows PowerShell Cmdlet 작성)