PowerShell CmdletBinding이 기능을 향상시키는 방법 알아보기

Powershell Cmdletbinding I Gineung Eul Hyangsangsikineun Bangbeob Al Abogi



함수는 단순히 입력에서 출력을 생성하는 데 사용할 수 있는 명령을 포함하는 코드 조각입니다. 함수는 반복해서 재사용할 수 있습니다. 기능의 기능은 ' Cmdlet바인딩 ' 기인하다. 이는 함수가 PowerShell에서 컴파일된 cmdlet처럼 보이고 작동하도록 도와줍니다. 이렇게 하면 기능이 cmdlet으로 바뀌고 모든 cmdlet 기능에 액세스할 수 있습니다.

다음 게시물은 ' 속성에 대한 세부 정보를 제공합니다. Cmdlet바인딩 '.

PowerShell CmdletBinding이 기능을 향상시키는 방법 알아보기

속성 ' Cmdlet바인딩 ”를 활용하여 기능을 강화합니다. 특히 이 특성의 핵심 기능은 기능을 작동 가능한 cmdlet으로 전환하는 것입니다.







명시된 속성을 설명하는 예는 다음과 같습니다.



예 1: 'CmdletBinding' 특성을 사용하여 문자열을 대문자에서 소문자로 변환

이 예에서 ' Cmdlet바인딩 ” 속성은 문자열을 소문자로 변환합니다.



기능 - 에게 - 소문자 {
[ Cmdlet바인딩 ( ) ] 매개변수 ( )
'이것은 LINUX 힌트 포털입니다.' .ToLower ( ) ;
}
- 에게 - 소문자

위에서 언급한 코드에서:





  • 먼저 함수를 만들고 이름을 지정합니다.
  • 그런 다음 ' 매개변수() '를 지정하고 ' [Cmdlet바인딩()] ” 매개 변수 앞에 있습니다.
  • 그런 다음 역따옴표 안에 문자열을 쓰고 ' 아래로() ' 방법.
  • 마지막으로 중괄호 밖에 이름을 지정하여 함수를 호출합니다.

예 2: '-Verbose' 매개 변수와 함께 함수에서 'CmdletBinding' 특성 사용

이 데모는 문자열을 소문자로 변환합니다. 또한 “ -말 수가 많은 ” 매개변수:



기능 - 에게 - 소문자 {
[ Cmdlet바인딩 ( ) ] 매개변수 ( )
Write-Verbose '-verbose 매개변수는 자세한 설명문을 표시합니다.'
'콘솔에 오신 것을 환영합니다.' .ToLower ( ) ;
}
- 에게 - 소문자 -말 수가 많은

위에서 언급한 코드에서:

  • 자세한 설명은 '를 사용하여 제공됩니다. Write-Verbose ” cmdlet.
  • 그런 다음 함수 이름은 중괄호 외부에 ' -말 수가 많은 ” 매개변수:

예 3: 'SupportsShouldProcess' 및 'PSCmdlet' 개체와 함께 'CmdletBinding' 특성 사용

이 그림은 문자열을 대문자로 변환할지 여부를 확인하는 프롬프트를 생성합니다.

기능 - 에게 - 소문자 {
[ Cmdlet바인딩 ( 지원해야 하는 프로세스 = $True ) ] 매개변수 ( )
Write-Verbose '-verbose 매개변수는 자세한 설명문을 표시합니다.'
만약에 ( $PSCmdlet .계속해야 ( '확인하다?' , '문자열을 소문자로 변환' ) ) {
'헬로 월드' .ToLower ( ) ;
} 또 다른 {
'헬로 월드'
}
}

위에서 언급한 코드에서:

  • 먼저 함수를 만들고 이름을 지정합니다.
  • 함수 내에서 ' SupportsShouldProcess=$True ” 안에 Cmdlet바인딩() ' 기인하다.
  • 그런 다음 ' 만약에 ” 조건을 통과하고 “ $PSCmdlet.ShouldContinue() ” 내부 매개 변수입니다.
  • 그런 다음 위의 매개 변수 안에 사용자로부터 확인을 받을 때 표시할 텍스트를 추가합니다.
  • 'if' 조건은 사용자가 ' ” 버튼이 없으면 문자열 대소문자가 변경되지 않습니다.

'를 클릭합니다. ” 버튼을 사용하여 문자열을 소문자로 변환합니다.

- 에게 - 소문자 -확인하다

문자열이 소문자로 변환된 것을 볼 수 있습니다.

결론

Cmdlet바인딩 PowerShell의 ” 특성은 함수를 작동 가능한 cmdlet으로 변환하는 데 사용됩니다. 이렇게 하면 cmdlet으로 전환된 함수에 대한 모든 cmdlet 기능에 대한 액세스가 제공됩니다. 이 블로그는 PowerShell의 ' Cmdlet바인딩 ” 속성을 추가하여 기능을 향상시킵니다.