ค้นหาเว็บไซต์

โมดูลนำเข้า PowerShell | ตัวอย่างยอดนิยมของโมดูลนำเข้า PowerShell


ข้อมูลเบื้องต้นเกี่ยวกับโมดูลนำเข้า PowerShell

โมดูลคือคอลเลกชันของ cmdlets ตัวแปร ฟังก์ชัน และเวิร์กโฟลว์ที่รวบรวมไว้เป็นแพ็คเกจ โมดูลถูกนำมาใช้ครั้งแรกใน PowerShell เวอร์ชัน 2 โดยทั่วไปโมดูลจะถูกจัดเก็บไว้ในตำแหน่งหลักสองแห่งต่อไปนี้ ในหัวข้อนี้ เราจะเรียนรู้เกี่ยวกับโมดูลนำเข้า PowerShell

  • %windir%\system32\WindowsPowerShell\v1.0\Modules นี่คือตำแหน่งสำหรับโมดูลทั้งระบบที่ผู้ใช้ทุกคนในระบบสามารถใช้ได้
  • %USERPROFILE%\Documents\WindowsPowerShell\Modules

แต่ละโมดูลมีโฟลเดอร์เฉพาะสำหรับบันทึกไว้ นอกจากนี้ยังมีไฟล์ psd1 ที่เรียกว่า Module Manifest ไฟล์ Manifest ประกอบด้วยการตั้งค่าของโมดูล เช่น เวอร์ชันของ PowerShell ผู้เขียน และการตั้งค่าอื่นๆ รายการโมดูลที่พร้อมใช้งานสามารถรับได้โดยการรัน Get-Module -ListAvailable cmdlet

การนำเข้าโมดูล

สามารถนำเข้าโมดูลในเซสชันได้โดยใช้ Import-Module cmdlet สำหรับโมดูลที่จะนำเข้า จำเป็นต้องมีโมดูลนั้นอยู่บนระบบหรือบนเซิร์ฟเวอร์ระยะไกล เริ่มต้นจาก PowerShell 3.0 โมดูลจะถูกนำเข้าโดยอัตโนมัติในครั้งแรกที่ cmdlet ใดๆ ในโมดูลที่ติดตั้งถูกเรียกใช้ ตัวแปรการตั้งค่า $PSModuleAutoloadingPreference ใช้เพื่อเปิดใช้งานหรือปิดใช้งานการนำเข้าโมดูลโดยอัตโนมัติ cmdlets ของโมดูลนำเข้าจะนำเข้าสมาชิกทั้งหมดตามค่าเริ่มต้น ซึ่งสามารถจำกัดได้โดยใช้นามแฝงหรือพารามิเตอร์ตัวแปร

ไวยากรณ์ของโมดูลนำเข้า

ต่อไปนี้เป็นไวยากรณ์ของ Import-Module Cmdlet

พารามิเตอร์

มีพารามิเตอร์มากมายที่เกี่ยวข้องกับ Import-Module Cmdlet พารามิเตอร์ที่ใช้ทั่วไปบางส่วนจะกล่าวถึงด้านล่างนี้

1. นามแฝง

นี่แสดงถึงรายการนามแฝงที่จะนำเข้าจากโมดูลไปยังเซสชันปัจจุบัน บางโมดูลจะส่งออกนามแฝงที่เลือกโดยอัตโนมัติตามค่าเริ่มต้น ประเภทของมันคือสตริงและค่าเริ่มต้นคือไม่มี ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด มันเป็นพารามิเตอร์ทางเลือก

2. ชื่อ

นี่เป็นพารามิเตอร์บังคับ นี่แสดงถึงชื่อของโมดูลที่จะนำเข้า ชื่อสามารถแสดงถึงโมดูลหรือไฟล์ภายในโมดูล เช่น ไฟล์ dll หรือ .ps1 ควรใช้ชื่อโมดูลเสมอ ประเภทของมันคือสตริง ค่าเริ่มต้นคือไม่มี ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด

3.คำนำหน้า

สิ่งนี้ระบุคำนำหน้าที่จะเพิ่มให้กับชื่อของสมาชิกโมดูลที่นำเข้า สิ่งนี้ส่งผลต่อสมาชิกโมดูลในเซสชันปัจจุบัน ประเภทของมันคือสตริงและค่าเริ่มต้นคือไม่มี ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด

4. เวอร์ชันที่ต้องการ

โดยระบุเวอร์ชันของโมดูลที่จำเป็นต้องนำเข้า ในกรณีที่ไม่มีเวอร์ชันที่ระบุ ข้อผิดพลาดจะเกิดขึ้น ประเภทของมันคือเวอร์ชันและค่าเริ่มต้นคือไม่มี ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด

5. ขอบเขต

แสดงถึงขอบเขตที่ต้องนำเข้าโมดูล อาจเป็นได้ทั้งระดับโลกหรือระดับท้องถิ่น ในระดับโลกนั้นใช้ได้กับคำสั่งทั้งหมดในเซสชันและในเครื่องนั้นจะใช้ได้เฉพาะกับขอบเขตปัจจุบันเท่านั้น ประเภทของมันคือสตริงและค่าเริ่มต้นคือไม่มี ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด

6. ตัวแปร

โดยระบุรายการตัวแปรที่ต้องนำเข้าจากโมดูลไปยังเซสชันปัจจุบัน ประเภทของมันคือสตริงและค่าเริ่มต้นคือไม่มี ไม่ยอมรับอินพุตไปป์ไลน์ แต่ยอมรับอักขระไวด์การ์ด

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างของ PowerShell Import Module ที่กล่าวถึงด้านล่างนี้

ตัวอย่าง #1

การนำเข้าโมดูลและรับคำสั่งในโมดูล

อินพุต:

Write-Host "Welcome to Import Module Tutorial" -ForegroundColor Green
Write-Host "List of modules available in the current session are below" -ForegroundColor Green
Get-Module -All
Write-Host "Importing Diagnostics Module" -ForegroundColor Green
Import-Module -Name PSDiagnostics
Write-Host "Commands available in PSDiagnostics are follows" -ForegroundColor Green
Get-Command -Module PSDiagnostics -TotalCount 1

เอาต์พุต:

ตัวอย่าง #2

การนำเข้าโมดูลและการถอดโมดูลพร้อมกับการใช้รายละเอียด:

พารามิเตอร์ verbose ใช้เพื่อแสดงรายการสคริปต์ ฟังก์ชัน ตัวแปร และเวิร์กโฟลว์ต่างๆ ที่มีอยู่ในโมดูลที่กำลังนำเข้า

อินพุต:

Write-Host "Welcome to verbose and removal of module tutorial" -ForegroundColor Green
Write-Host "Importing Diagnostics Module with verbose parameter" -ForegroundColor Green
Import-Module -Name PSDiagnostics -Verbose
Write-Host "Removing the module from the current session" -ForegroundColor Green
Remove-Module -Name PSDiagnostics
Write-Host "Successfully remove the Module"

เอาต์พุต:

ตัวอย่าง #3

การจำกัดสมาชิกที่กำลังนำเข้า:

ตามที่กล่าวไว้ข้างต้น คุณสามารถจำกัดสมาชิกของโมดูลไม่ให้นำเข้าได้ โมดูลสามารถมีคำสั่งและฟังก์ชันได้ 100 รายการ ไม่แนะนำให้นำเข้าทั้งหมดเมื่อมีการใช้เพียงไม่กี่รายการเท่านั้น เป็นการดีกว่าที่จะนำเข้าเฉพาะสมาชิกที่จำเป็นมากกว่านำเข้าทั้งหมด ตัวอย่างต่อไปนี้แสดงวิธีการจำกัดสมาชิก

อินพุต:

Write-Host "Welcome to the tutorial of restricting cmdlets from being imported" -ForegroundColor Green
Write-Host "The following are the available cmdlets in the PSDiagnostics Module" -ForegroundColor Green
(Get-Module PSDiagnostics).ExportedCommands
#mention only start and stop to be imported
Write-Host "Lets see how to import only start the trace and stop trace" -ForegroundColor Green
Import-Module PSDiagnostics -Function Start-Trace , Stop-Trace
Write-Host "only stop and start trace are imported" -ForegroundColor Green
Write-Host "imported cmdlets are as below" -ForegroundColor Green
Get-Command -Module PSDiagnostics

เอาต์พุต:

ตัวอย่าง #4

การนำเข้าโมดูลอีกครั้ง เพิ่มคำนำหน้า และดึงข้อมูลเฉพาะเวอร์ชันที่ระบุของโมดูล:

อินพุต:

Write-Host "welcome to prefix tutorial" -ForegroundColor Green
Write-Host "Importing PSDiagnostics for first time" -ForegroundColor Green
Import-Module PSDiagnostics
Write-Host "Module Imported"
Write-Host "Importing PSDiagnostics for second  time with prefix" -ForegroundColor Green
Import-Module PSDiagnostics -Force -Prefix Px
Write-Host "List of commands with prefix px" -ForegroundColor Green
Get-Command -Module PSDiagnostics
Write-Host "Importing PowerShell get module with 3.0 version" -ForegroundColor Green
Import-Module -Name PowerShellGet -MinimumVersion 3.0.0
Write-Host "Module imported"

เอาต์พุต:

ด้านล่างบริเวณที่ไฮไลต์จะแสดงคำนำหน้า

สรุป - โมดูลนำเข้า PowerShell

ดังนั้นบทความนี้จึงกล่าวถึงรายละเอียดเกี่ยวกับ Import-Module Cmdlet โดยละเอียด นอกจากนี้ยังอธิบายวิธีการนำเข้าโมดูล วิธีต่างๆ ในการนำเข้าโมดูล การกรองคำสั่งและฟังก์ชันที่ต้องนำเข้าพร้อมตัวอย่างที่เหมาะสม หากต้องการเรียนรู้เชิงลึกเกี่ยวกับ cmdlet ขอแนะนำให้สร้างโปรแกรมตัวอย่างและสนุกกับการทำงาน

บทความที่เกี่ยวข้อง