โมดูลนำเข้า 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 ขอแนะนำให้สร้างโปรแกรมตัวอย่างและสนุกกับการทำงาน






