โรงเรียน Geek เรียนรู้วิธีขยาย PowerShell
PowerShell เสนอวิธีสองวิธีให้คุณขยายเชลล์ คุณสามารถใช้ snapins ซึ่งเป็นเลขฐานสองเท่านั้นและได้รับการพัฒนาในภาษาโปรแกรมเต็มรูปแบบเช่น C # หรือคุณสามารถใช้โมดูลซึ่งสามารถเป็นไบนารีเช่นเดียวกับสคริปต์ตาม.
อย่าลืมอ่านบทความก่อนหน้าในซีรีย์:
- เรียนรู้วิธีอัตโนมัติของ Windows ด้วย PowerShell
- เรียนรู้การใช้ Cmdlets ใน PowerShell
- เรียนรู้วิธีใช้วัตถุใน PowerShell
- การเรียนรู้การจัดรูปแบบการกรองและการเปรียบเทียบใน PowerShell
- เรียนรู้การใช้ Remoting ใน PowerShell
- การใช้ PowerShell เพื่อรับข้อมูลคอมพิวเตอร์
- การทำงานกับคอลเล็กชันใน PowerShell
และคอยติดตามตลอดซีรีย์ที่เหลือตลอดทั้งสัปดาห์.
Snapins
Snapins เป็นปีที่แล้ว เรื่องตลกทั้งหมดสแน็ปอินไม่เคยติดอยู่ในชุมชน PowerShell เพราะสคริปเตอร์ส่วนใหญ่ไม่ใช่นักพัฒนาและคุณสามารถเขียนสแน็ปอินในภาษาเช่น C # เท่านั้น อย่างไรก็ตามยังมีผลิตภัณฑ์บางตัวที่ใช้ Snapins เช่น Web Deploy เป็นต้น เพื่อดูว่า snapins ใดบ้างที่คุณสามารถใช้ในเชลล์คุณใช้คำสั่งต่อไปนี้:
รับ -PSSnapin - ลงทะเบียน
ในการใช้คำสั่งที่เพิ่มโดย snapin อันดับแรกคุณต้องนำเข้าคำสั่งลงในเซสชันของคุณและคุณสามารถทำได้ดังนี้
เพิ่ม -PSSnapin -Name WDeploySnapin3.0
ณ จุดนี้คุณจะได้รับข้อผิดพลาดหากคุณไม่ได้ติดตั้ง Web Deploy snapin หากคุณมีการติดตั้งเหมือนฉันแล้วมันจะถูกนำเข้าสู่เซสชั่นของคุณ ในการรับรายการคำสั่งที่มีอยู่ใน snapin คุณสามารถใช้ cmdlet รับคำสั่ง:
รับคำสั่ง - โมดูล WDeploy *
หมายเหตุ: โดยทางเทคนิคแล้วนี่ไม่ใช่โมดูล แต่ด้วยเหตุผลบางอย่างคุณยังคงต้องใช้พารามิเตอร์ Module.
โมดูล
โมดูลใหม่กว่าและก้าวไปข้างหน้า พวกเขาสามารถเขียนสคริปต์โดยใช้ PowerShell เช่นเดียวกับการเขียนในภาษาเช่น C # คำสั่งในตัวส่วนใหญ่ถูกจัดระเบียบเป็นโมดูลเช่นกัน หากต้องการดูรายการของโมดูลในระบบของคุณคุณสามารถใช้คำสั่งต่อไปนี้:
รับโมดูล -ListAvailable
เมื่อมีการอัปเดตผลิตภัณฑ์แล้ว PowerShell จะถูกย้ายไปยังโมดูล ตัวอย่างเช่น SQL เคยมี snapin แต่ตอนนี้มันถูกสร้างขึ้นจากโมดูล.
ในการใช้โมดูลคุณต้องนำเข้าก่อน.
นำเข้า - โมดูล - ชื่อ SQLASCMDLETS
คุณสามารถใช้เคล็ดลับเดียวกับที่เราใช้กับ snapins เพื่อดูคำสั่งทั้งหมดที่โมดูลเพิ่มเข้ากับเชลล์.
ดังนั้นนั่นจึงเป็นคำถาม: PowerShell รู้ได้อย่างไรว่า Snapins และโมดูลที่คุณมีในระบบของคุณเป็นอย่างไร ดีว่า snapins เป็นบิตของความเจ็บปวดและจะต้องมีการติดตั้ง ส่วนหนึ่งของกระบวนการติดตั้งรวมถึงการสร้างรายการรีจิสทรีบางอย่างที่ PowerShell ดูเพื่อค้นหาข้อมูล snapin ในทางกลับกันโมดูลสามารถลงทะเบียนกับเชลล์ได้โดยเพียงวางไว้ในตำแหน่งใดตำแหน่งหนึ่งในตัวแปรสภาพแวดล้อม PSModulePath หรือคุณสามารถเพิ่มพา ธ ไปยังโมดูลในตัวแปรสภาพแวดล้อมได้.
($ env: PSModulePath) .Split (“;”)
ที่จะคายเนื้อหาของตัวแปร ขอให้สังเกตว่าถ้าคุณมีโมดูลเช่น SQL ติดตั้งแล้วมันปรับเปลี่ยนตัวแปรอย่างไรเพื่อรวมตำแหน่งของโมดูล SQL.
การโหลดโมดูลอัตโนมัติ
PowerShell 3 เปิดตัวฟีเจอร์ใหม่ที่ยอดเยี่ยมโดยใช้ชื่อเพียงไม่กี่ชื่อ ไม่มีสิ่งใดที่เป็นทางการ แต่ "การโหลดโมดูลอัตโนมัติ" เป็นคำอธิบายที่ดีที่สุด โดยทั่วไปจะช่วยให้คุณใช้ cmdlet ที่เป็นของโมดูลภายนอกโดยไม่ต้องนำเข้าโมดูลอย่างชัดเจนโดยใช้ Import-Module cmdlet หากต้องการดูสิ่งนี้ก่อนอื่นให้ลบโมดูลทั้งหมดออกจากเชลล์ของคุณโดยใช้คำสั่งต่อไปนี้:
รับโมดูล | นำโมดูล
จากนั้นคุณสามารถตรวจสอบว่าคุณไม่มีโมดูลที่โหลดโดยใช้สิ่งต่อไปนี้:
Get-โมดูล
ตอนนี้ใช้ cmdlet ที่ไม่ได้อยู่ในไลบรารีหลัก การทดสอบการเชื่อมต่อเป็นสิ่งที่ดี:
การทดสอบการเชื่อมต่อ localhost
หากคุณตรวจสอบโมดูลที่โหลดอีกครั้งคุณจะเห็นว่าโมดูลนั้นโหลดจริง.
นั่นคือทั้งหมดสำหรับผู้ชายในวันนี้เข้าร่วมกับเราในวันพรุ่งนี้สำหรับข้อมูลเพิ่มเติม.