항목
    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




목차