항목
about_Functions_CmdletBindingAttribute
간단한 설명
컴파일된 cmdlet과 비슷한 역할을 하는 함수를 선언하는 특성에 대해 설명합니다.
자세한 설명
함수를 작성할 때 Windows PowerShell에서 컴파일된 cmdlet의 매개 변수를 바인딩하는 방식으로 함수의
매개 변수를 바인딩하도록 CmdletBinding 속성을 추가할 수 있습니다. 이 속성을 선언하면 $PSCmdlet 자동
변수도 설정됩니다.
Cmdlet 바인딩을 사용할 경우 일치하는 위치 매개 변수가 없는 위치 인수와 알 수 없는 매개 변수가 있으면
매개 변수 바인딩이 실패합니다. 또한 cmdlet 바인딩을 사용하는 함수나 스크립트는 $args 변수를 사용하지
않습니다.
참고: 컴파일된 cmdlet은 이 항목에서 설명한 CmdletBinding 특성과 비슷한 필수 Cmdlet 특성을
사용합니다.
다음 예에서는 CmdletBinding 속성의 모든 선택적 인수를 지정하는 함수에 대한 개요를 보여 줍니다. 다음
예에는 각 인수에 대한 간략한 설명이 나와 있습니다.
{
[CmdletBinding(SupportsShouldProcess=<Boolean>,
ConfirmImpact=<String>,
DefaultParameterSetName=<String>)]
Param ($Parameter1)
Begin{}
Process{}
End{}
}
SupportsShouldProcess
SupportsShouldProcess 인수가 true로 설정되면 함수는 ShouldProcess 메서드에 대한
호출을 지원합니다. 이 메서드는 시스템을 변경하기 전에 사용자에게 피드백 메시지를 표시하도록
지정하는 데 사용됩니다. 이 인수를 지정하면 함수에 Confirm 및 WhatIf 매개 변수를 사용할 수 있습니다.
확인 요청에 대한 자세한 내용은 MSDN(Microsoft Developer Network)
라이브러리(https://go.microsoft.com/fwlink/?LinkId=136658)의 "Requesting
Confirmation(확인 요청)"을 참조하십시오.
DefaultParameterSetName
DefaultParameterSetName 인수는 Windows PowerShell에서 사용할 매개 변수 집합을
결정할 수 없을 때 사용하는 매개 변수 집합의 이름을 지정합니다. 이러한 문제를 방지하려면 각 매개 변수
집합의 고유한 매개 변수를 필수 매개 변수로 지정합니다.
ConfirmImpact
ConfirmImpact 인수는 ShouldProcess 메서드 호출을 통해 함수의 작업을 확인해야 하는 시점을
지정합니다. ConfirmImpact 인수가 $ConfirmPreference 기본 설정 변수의 값보다 크거나
같은 경우에만 ShouldProcess 메서드를 호출했을 때 확인 프롬프트가 표시됩니다. 인수의 기본값은
Medium입니다. SupportsShouldProcess 인수를 지정한 경우에만 이 인수를 지정하십시오.
참고 항목
about_Functions_Advanced
about_Functions_CmdletBindingAttribute
about_Functions_ParameterAttributes