โพสต์ต่อไปนี้จะให้รายละเอียดเกี่ยวกับแอตทริบิวต์ “ 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 ” แอตทริบิวต์เพื่อเพิ่มฟังก์ชัน