เรียนรู้ว่า PowerShell CmdletBinding ปรับปรุงฟังก์ชันอย่างไร

Reiyn Ru Wa Powershell Cmdletbinding Prabprung Fangkchan Xyangri



ฟังก์ชันเป็นเพียงส่วนหนึ่งของโค้ดที่มีคำแนะนำที่สามารถใช้สร้างเอาต์พุตจากอินพุตได้ สามารถใช้ฟังก์ชันซ้ำแล้วซ้ำอีก ฟังก์ชันการทำงานของฟังก์ชันสามารถปรับปรุงได้โดยใช้ ' CmdletBinding ' คุณลักษณะ. ช่วยให้ฟังก์ชันมีลักษณะและใช้งานเหมือนกับ cmdlet ที่คอมไพล์แล้วใน PowerShell การทำเช่นนั้นจะทำให้ฟังก์ชันกลายเป็น cmdlet และเข้าถึงคุณสมบัติ cmdlet ทั้งหมด

โพสต์ต่อไปนี้จะให้รายละเอียดเกี่ยวกับแอตทริบิวต์ “ CmdletBinding '.

เรียนรู้ว่า PowerShell CmdletBinding ปรับปรุงฟังก์ชันอย่างไร

คุณลักษณะ “ CmdletBinding ” ใช้เพื่อเพิ่มประสิทธิภาพการทำงาน โดยเฉพาะอย่างยิ่ง ฟังก์ชันหลักของแอตทริบิวต์นี้คือการเปลี่ยนฟังก์ชันให้เป็น cmdlet ที่ใช้งานได้







ตัวอย่างที่อธิบายแอตทริบิวต์ที่ระบุไว้ด้านล่าง



ตัวอย่างที่ 1: ใช้แอตทริบิวต์ “CmdletBinding” เพื่อแปลงสตริงจากตัวพิมพ์ใหญ่เป็นตัวพิมพ์เล็ก

ในตัวอย่างนี้ ' CmdletBinding แอตทริบิวต์จะเปลี่ยนสตริงเป็นตัวพิมพ์เล็ก:



การทำงาน สตริง - ถึง - ตัวพิมพ์เล็ก {
[ CmdletBinding ( ) ] พารา ( )
'นี่คือ LINUX HINT PORTAL' .ToLower ( ) ;
}
สตริง - ถึง - ตัวพิมพ์เล็ก

ในรหัสดังกล่าวข้างต้น:





  • ขั้นแรก สร้างฟังก์ชันและระบุชื่อสำหรับฟังก์ชันนั้น
  • จากนั้นสร้าง “ พารามิเตอร์() ” และระบุ “ [CmdletBinding()] ” พารามิเตอร์ก่อนเลย
  • หลังจากนั้น ให้เขียนสตริงภายในอัญประกาศกลับหัวและต่อด้วยเครื่องหมาย “ ToLower() ' วิธี.
  • สุดท้าย เรียกใช้ฟังก์ชันโดยระบุชื่อนอกวงเล็บปีกกา:

ตัวอย่างที่ 2: ใช้แอตทริบิวต์ “CmdletBinding” ในฟังก์ชันพร้อมกับพารามิเตอร์ “-Verbose”

การสาธิตนี้จะแปลงสตริงเป็นตัวพิมพ์เล็ก ยิ่งไปกว่านั้น มันจะแสดงข้อความอย่างละเอียดด้วยความช่วยเหลือของ “ -รายละเอียด ” พารามิเตอร์:



การทำงาน สตริง - ถึง - ตัวพิมพ์เล็ก {
[ CmdletBinding ( ) ] พารา ( )
เขียน-Verbose 'พารามิเตอร์ -verbose จะแสดงคำสั่ง verbose'
'ยินดีต้อนรับสู่คอนโซล' .ToLower ( ) ;
}
สตริง - ถึง - ตัวพิมพ์เล็ก -รายละเอียด

ในรหัสที่ระบุข้างต้น:

  • คำสั่งรายละเอียดจะได้รับโดยใช้ ' เขียน-Verbose cmdlet
  • จากนั้น ชื่อฟังก์ชันจะถูกระบุนอกวงเล็บปีกกาพร้อมกับเครื่องหมาย “ -รายละเอียด ” พารามิเตอร์:

ตัวอย่างที่ 3: ใช้แอตทริบิวต์ “CmdletBinding” ร่วมกับอ็อบเจ็กต์ “SupportsShouldProcess” และ “PSCmdlet”

ภาพประกอบนี้จะสร้างพรอมต์ ซึ่งจะยืนยันว่าจะแปลงสตริงเป็นตัวพิมพ์ใหญ่หรือไม่:

การทำงาน สตริง - ถึง - ตัวพิมพ์เล็ก {
[ CmdletBinding ( รองรับกระบวนการที่ควร = $จริง ) ] พารา ( )
เขียน-Verbose 'พารามิเตอร์ -verbose จะแสดงคำสั่ง verbose'
ถ้า ( $PSCMdlet . ควรดำเนินการต่อ ( 'ยืนยัน?' , 'แปลงสตริงเป็นตัวพิมพ์เล็ก' ) ) {
'สวัสดีชาวโลก' .ToLower ( ) ;
} อื่น {
'สวัสดีชาวโลก'
}
}

ในรหัสที่ระบุข้างต้น:

  • ขั้นแรก สร้างฟังก์ชันและระบุชื่อ
  • ภายในฟังก์ชั่น ส่งผ่าน “ SupportsShouldProcess=$True ' ข้างใน ' CmdletBinding() ' คุณลักษณะ.
  • หลังจากนั้นให้สร้าง “ ถ้า ” เงื่อนไขและผ่าน “ $PSCmdlet.ShouldContinue() ” พารามิเตอร์ภายในนั้น
  • จากนั้นเพิ่มข้อความภายในพารามิเตอร์ที่ระบุข้างต้นเพื่อแสดงในเวลาที่ได้รับการยืนยันจากผู้ใช้
  • เงื่อนไข “if” จะเปลี่ยนสตริงเป็นตัวพิมพ์เล็กหากผู้ใช้คลิกที่ “ ใช่ ปุ่ม ” มิฉะนั้นตัวพิมพ์สตริงจะไม่เปลี่ยนแปลง:

คลิกที่ ' ใช่ ปุ่ม ” เพื่อแปลงสตริงเป็นตัวพิมพ์เล็ก:

สตริง - ถึง - ตัวพิมพ์เล็ก -ยืนยัน

สามารถสังเกตได้ว่าสตริงถูกแปลงเป็นตัวพิมพ์เล็ก

บทสรุป

CmdletBinding แอตทริบิวต์ ” ใน PowerShell ใช้เพื่อแปลงฟังก์ชันเป็น cmdlet ที่ใช้งานได้ การทำเช่นนั้นจะทำให้สามารถเข้าถึงคุณลักษณะ cmdlet ทั้งหมดของฟังก์ชันที่เปลี่ยนเป็น cmdlet ได้ บล็อกนี้มีรายละเอียดเกี่ยวกับ PowerShell's ' CmdletBinding ” แอตทริบิวต์เพื่อเพิ่มฟังก์ชัน