กําหนดโมดูลใน PowerShell

เสร็จสมบูรณ์เมื่อ

มอดูล คือกลุ่มของความสามารถของ PowerShell ที่เกี่ยวข้องซึ่งรวมเข้าด้วยกันเป็นหน่วยเดียว สําหรับวัตถุประสงค์ของคลาสนี้คุณสามารถนึกภาพพวกเขาเป็นคอนเทนเนอร์ที่โฮสต์ cmdlets หลายตัว โมดูลช่วยในการจัดระเบียบ cmdlets ลงในหน่วยที่สามารถแจกจ่ายต่อได้ Microsoft และบริษัทซอฟต์แวร์อื่นๆ มีโมดูลที่เป็นส่วนหนึ่งของเครื่องมือการจัดการสําหรับแอปพลิเคชันและบริการ

คุณสามารถตรวจสอบรายการของโมดูลที่พร้อมใช้งานโดยการเรียกใช้คําสั่งต่อไปนี้:

Get-Module -ListAvailable

เมื่อต้องการใช้ cmdlet ของมอดูล ต้องโหลดโมดูลลงในเซสชัน PowerShell ปัจจุบัน โดยทั่วไปจะเกิดขึ้นโดยอัตโนมัติ แต่อาจจําเป็นต้องโหลดโมดูลอย่างชัดเจนโดยการเรียกใช้ Import-Module cmdlet ผลิตภัณฑ์ของเซิร์ฟเวอร์บางตัว เช่น Microsoft Exchange Server จะมีทางลัดไปยังสิ่งที่ปรากฏเป็นเชลล์การจัดการเฉพาะ อย่างไรก็ตามนี่เป็นเซสชันคอนโซล PowerShell ปกติที่มีโมดูลเฉพาะของแอปพลิเคชันที่โหลดไว้แล้ว

การโหลดอัตโนมัติ

ใน Windows PowerShell เวอร์ชัน 3.0 และใหม่กว่า มอดูลจะโหลดโดยอัตโนมัติถ้าคุณเรียกใช้ cmdlet ที่เป็นส่วนหนึ่งของมอดูลนั้น ซึ่งทํางานได้หากโมดูลที่ประกอบด้วย cmdlet อยู่ในโฟลเดอร์ภายใต้เส้นทางการโหลดโมดูล ตามค่าเริ่มต้น โฟลเดอร์เหล่านี้รวม %systemdir%\WindowsPowerShell\v1.0\Modules และ %userprofiles%\Documents\WindowsPowerShell\Modules รายการของโฟลเดอร์ถูกเก็บไว้ในตัวแปรสภาพแวดล้อม $env:PSModulePath เมื่อคุณนําเข้าโมดูลอย่างชัดเจนตามชื่อ PowerShell จะตรวจสอบตําแหน่งที่ตั้งที่อ้างอิงโดยตัวแปรสภาพแวดล้อมนั้น

สําหรับ PowerShell 7 PSModulePath มีตําแหน่งที่ตั้งต่อไปนี้:

  • C:\Users\<user>\Documents\PowerShell\Modules
  • C:\Program Files\PowerShell\Modules
  • C:\Program Files\PowerShell\7\Modules
  • C:\Program Files\WindowsPowerShell\Modules
  • C:\WINDOWS\System32\WindowsPowerShell\v1.0\Modules

โน้ต

เมื่อใช้ Windows PowerShell เส้นทาง %systemdir%\WindowsPowerShell\v1.0\Modules มักถูกอ้างอิงโดยใช้การผสมผสานของตัวแปรสภาพแวดล้อม $PSHome (ซึ่งชี้ไปยัง %systemdir%\WindowsPowerShell\v1.0) และเส้นทาง มอดูล (นั่นคือโดยใช้สัญชาตญาณของ $PSHome\Modules) สําหรับ PowerShell 7.0 ตัวแปรสภาพแวดล้อม $PSHome อ้างอิงถึง C:\Program Files\PowerShell\7