Alamin Kung Paano Pinapahusay ng PowerShell CmdletBinding ang Mga Function

Alamin Kung Paano Pinapahusay Ng Powershell Cmdletbinding Ang Mga Function



Ang isang function ay isang piraso lamang ng code na naglalaman ng mga tagubilin na maaaring magamit upang lumikha ng output mula sa input nito. Ang isang function ay maaaring gamitin muli nang paulit-ulit. Maaaring pahusayin ang functionality ng isang function gamit ang “ CmdletBinding ” katangian. Tinutulungan nito ang function na tumingin at gumana tulad ng isang pinagsama-samang cmdlet sa PowerShell. Ang paggawa nito ay magbibigay ng function na naging isang cmdlet at access sa lahat ng mga tampok ng cmdlet.

Ang sumusunod na post ay magbibigay ng mga detalye tungkol sa katangiang ' CmdletBinding ”.

Alamin Kung Paano Pinapahusay ng PowerShell CmdletBinding ang Mga Function

Ang katangian ' CmdletBinding ” ay ginagamit upang mapahusay ang function. Lalo na, ang pangunahing pag-andar ng katangiang ito ay gawing isang gumaganang cmdlet ang function.







Ang mga halimbawang nagpapaliwanag sa nakasaad na katangian ay ibinigay sa ibaba.



Halimbawa 1: Gamitin ang 'CmdletBinding' na Attribute upang Ibahin ang String Mula sa Upper Case patungong Lower Case

Sa halimbawang ito, ang ' CmdletBinding ” na attribute ay magpapabago sa string sa lower case:



Function String - Upang - LowerCase {
[ CmdletBinding ( ) ] Param ( )
'ITO ANG LINUX HINT PORTAL.' .Babaan ( ) ;
}
String - Upang - LowerCase

Sa nabanggit na code sa itaas:





  • Una, lumikha ng isang function at tukuyin ang isang pangalan para dito.
  • Pagkatapos, lumikha ng ' Param() 'at tukuyin ang' [CmdletBinding()] ” parameter bago ito.
  • Pagkatapos nito, magsulat ng string sa loob ng inverted quotes at pagdugtungin ito ng “ Babaan() ” paraan.
  • Panghuli, tawagan ang function sa pamamagitan ng pagtukoy sa pangalan nito sa labas ng curly braces:

Halimbawa 2: Gamitin ang 'CmdletBinding' Attribute sa isang Function Kasama ang '-Verbose' Parameter

Ang demonstration na ito ay magpapabago sa string sa lowercase. Bukod dito, ipapakita nito ang verbose na mensahe sa tulong ng ' -Verbose ” parameter:



Function String - Upang - LowerCase {
[ CmdletBinding ( ) ] Param ( )
Write-Verbose 'Ipapakita ng -verbose parameter ang verbose statement.'
'WELCOME SA CONSOLE.' .Babaan ( ) ;
}
String - Upang - LowerCase -Verbose

Sa nabanggit na code:

  • Ang pandiwang pahayag ay ibinigay gamit ang “ Write-Verbose ” cmdlet.
  • Pagkatapos, ang pangalan ng function ay tinukoy sa labas ng mga kulot na braces kasama ang ' -Verbose ” parameter:

Halimbawa 3: Gamitin ang 'CmdletBinding' Attribute Kasama ang 'SupportsShouldProcess' at 'PSCmdlet' Object

Ang paglalarawang ito ay gagawa ng prompt, na magkukumpirma kung gagawing upper case ang string o hindi:

Function String - Upang - LowerCase {
[ CmdletBinding ( SupportsShouldProcess = $Totoo ) ] Param ( )
Write-Verbose 'Ipapakita ng -verbose parameter ang verbose statement.'
kung ( $PSCmdlet .Dapat Magpatuloy ( 'Confirm?' , 'Ibahin ang string sa LowerCase' ) ) {
'HELLO MUNDO' .Babaan ( ) ;
} Iba pa {
'HELLO MUNDO'
}
}

Sa nabanggit na code:

  • Una, lumikha ng isang function at tukuyin ang isang pangalan.
  • Sa loob ng function, ipasa ang ' SupportsShouldProcess=$True ' sa loob ng ' CmdletBinding() ” katangian.
  • Pagkatapos nito, lumikha ng ' kung 'kondisyon at ipasa ang' $PSCmdlet.ShouldContinue() ” parameter sa loob nito.
  • Pagkatapos, idagdag ang text sa loob ng nakasaad sa itaas na parameter na ipapakita sa oras ng pagkuha ng affirmation mula sa user.
  • Ang kundisyong “kung” ay magpapabago sa string sa lower-case kung mag-click ang user sa “ Oo ” button kung hindi ay hindi magbabago ang string case:

Mag-click sa “ Oo ” button upang gawing lowercase ang string:

String - Upang - LowerCase - Kumpirmahin

Mapapansin na ang string ay binago sa lower case.

Konklusyon

Ang ' CmdletBinding Ang ” attribute sa PowerShell ay ginagamit para i-convert ang function sa isang operable cmdlet. Ang paggawa nito ay magbibigay ng access sa lahat ng feature ng cmdlet sa function na naging isang cmdlet. Ang blog na ito ay nagpaliwanag sa 'PowerShell's ' CmdletBinding ” attribute para mapahusay ang function.