วิธีจัดการ Hyper-V ผ่าน PowerShell บน Windows Server 2022 แบบละเอียด
PowerShell เป็นเครื่องมือที่ผู้ดูแลระบบ Hyper-V ระดับมืออาชีพใช้งานกันอย่างแพร่หลาย เพราะสามารถบริหารจัดการ Virtual Machine (VM) จำนวนมากได้รวดเร็วกว่าการคลิกผ่าน Hyper-V Manager หลายเท่า
หากองค์กรมี VM หลายสิบหรือหลายร้อยเครื่อง การใช้ PowerShell จะช่วยลดเวลาในการทำงาน เพิ่มความแม่นยำ และรองรับการทำ Automation ได้อย่างเต็มรูปแบบ
บทความนี้จะรวบรวมคำสั่ง PowerShell ที่สำคัญสำหรับ Hyper-V บน Windows Server 2022 พร้อมตัวอย่างการใช้งานจริง
🚀 ทำไมต้องใช้ PowerShell กับ Hyper-V
ข้อดี
✅ จัดการ VM จำนวนมากได้รวดเร็ว
✅ Automation ได้
✅ เขียน Script ได้
✅ ลด Human Error
✅ เหมาะกับ Data Center
🔍 ตรวจสอบ Hyper-V Module
เปิด PowerShell
ตรวจสอบ
Get-Module Hyper-V -ListAvailable
หากมีผลลัพธ์แสดงขึ้นมา
แปลว่า Hyper-V Module พร้อมใช้งาน
📋 ดูรายการ VM ทั้งหมด
คำสั่ง
Get-VM
ตัวอย่างผลลัพธ์
Name State CPUUsage
DC01 Running 2
FILE01 Running 5
WEB01 Off 0
▶️ เปิด VM
เปิด VM หนึ่งเครื่อง
Start-VM -Name "DC01"
เปิด VM ทุกเครื่อง
Get-VM | Start-VM
⏹️ ปิด VM
Shutdown แบบปกติ
Stop-VM -Name "DC01"
บังคับปิด
Stop-VM -Name "DC01" -TurnOff
🔄 Restart VM
รีสตาร์ท
Restart-VM -Name "DC01"
🖥️ สร้าง VM ใหม่
ตัวอย่าง
New-VM `
-Name "LAB01" `
-MemoryStartupBytes 4GB `
-NewVHDPath "D:\VM\LAB01.vhdx" `
-NewVHDSizeBytes 80GB
Hyper-V จะสร้าง
VM
VHDX
พร้อมใช้งาน
🗑️ ลบ VM
ลบ VM
Remove-VM -Name "LAB01"
⚠️ ไม่ได้ลบ VHDX
💾 ดูข้อมูล VHDX
ตรวจสอบ Disk
Get-VHD -Path "D:\VM\SERVER01.vhdx"
ผลลัพธ์
Size
File Size
Type
📈 เพิ่ม RAM ให้ VM
ตั้ง RAM ใหม่
Set-VMMemory `
-VMName "DC01" `
-StartupBytes 8GB
🧠 เปิด Dynamic Memory
Set-VMMemory `
-VMName "DC01" `
-DynamicMemoryEnabled $true
⚙️ เพิ่ม CPU ให้ VM
กำหนด CPU
Set-VMProcessor `
-VMName "DC01" `
-Count 4
ตรวจสอบ
Get-VMProcessor -VMName "DC01"
💾 สร้าง Checkpoint
สร้าง Snapshot
Checkpoint-VM -Name "DC01"
ดู Checkpoint
Get-VMSnapshot -VMName "DC01"
ลบ Checkpoint
Remove-VMSnapshot -VMName "DC01"
📦 Export VM
Export
Export-VM `
-Name "DC01" `
-Path "D:\Backup"
📥 Import VM
Import
Import-VM `
-Path "D:\Backup\DC01"
🌐 ดู Network Adapter
ตรวจสอบ
Get-VMNetworkAdapter
ดูเฉพาะ VM
Get-VMNetworkAdapter -VMName "DC01"
🔀 เชื่อมต่อ Virtual Switch
Connect-VMNetworkAdapter `
-VMName "DC01" `
-SwitchName "Production-LAN"
🖥️ ดู Resource Usage
ตรวจสอบ VM
Measure-VM
เฉพาะเครื่อง
Measure-VM -VMName "DC01"
🔍 ตรวจสอบสถานะ Hyper-V Service
Get-Service vmms
Restart Service
Restart-Service vmms
🚀 Live Migration ผ่าน PowerShell
ย้าย VM
Move-VM `
-Name "DC01" `
-DestinationHost "HV02"
📊 ดู Checkpoint ทั้งระบบ
Get-VMSnapshot
🧹 ดู VM ที่ปิดอยู่
Get-VM | Where-Object {$_.State -eq "Off"}
📈 ดู VM ที่เปิดอยู่
Get-VM | Where-Object {$_.State -eq "Running"}
🔥 คำสั่งที่ใช้บ่อยที่สุด
| คำสั่ง | หน้าที่ |
|---|---|
| Get-VM | ดู VM |
| Start-VM | เปิด VM |
| Stop-VM | ปิด VM |
| Restart-VM | รีสตาร์ท VM |
| New-VM | สร้าง VM |
| Remove-VM | ลบ VM |
| Export-VM | Export |
| Import-VM | Import |
| Checkpoint-VM | สร้าง Checkpoint |
| Measure-VM | ดู Performance |
⚠️ ข้อควรระวัง
❌ อย่ารัน Script บน Production โดยไม่ทดสอบ
❌ ตรวจสอบชื่อ VM ทุกครั้ง
❌ Backup ก่อนแก้ไขจำนวนมาก
❌ ระวังคำสั่ง Remove-VM
🛡️ Best Practices
✅ ใช้ PowerShell Automation
✅ เก็บ Script ไว้ใน Version Control
✅ ทดสอบบน Lab ก่อน
✅ ใช้ Scheduled Task
✅ Backup ก่อนเปลี่ยนแปลงระบบ
✅ ตรวจสอบ Log ทุกครั้ง
🎯 สรุป
PowerShell เป็นเครื่องมือสำคัญสำหรับการบริหารจัดการ Hyper-V บน Windows Server 2022 โดยช่วยให้ผู้ดูแลระบบสามารถจัดการ VM ได้รวดเร็ว แม่นยำ และรองรับงาน Automation ในระดับองค์กร
จากประสบการณ์ของทีมงาน comsiam ผู้ดูแลระบบที่เรียนรู้ PowerShell จะสามารถลดเวลาการจัดการ Hyper-V ได้อย่างมาก โดยเฉพาะในสภาพแวดล้อมที่มี VM จำนวนมากหรือมีการเปลี่ยนแปลงระบบอยู่เป็นประจำ
ทีมงาน comsiam แนะนำให้เริ่มต้นจากคำสั่งพื้นฐาน เช่น Get-VM, Start-VM และ Export-VM ก่อน แล้วค่อยพัฒนาไปสู่ Automation Script เพื่อให้ Windows Server 2022 Hyper-V มีประสิทธิภาพในการบริหารจัดการสูงสุด