สคริปต์ .bat นี้ใช้สำหรับ สร้าง Hyper-V Virtual Switch (VMSwitch) ผ่าน PowerShell โดยรองรับการเลือก หลาย NIC เพื่อทำ Embedded Teaming (SET) และตั้งค่าให้ Management OS (Host) ยังใช้งาน Network ผ่าน vSwitch ได้
- สร้าง VMSwitch ด้วยชื่อที่กำหนดเอง
- รองรับการรวมหลาย NIC (SET: Switch Embedded Teaming)
- AllowManagementOS =
true(Host ยังมี Network ใช้งาน)
- Windows ที่เปิดใช้งาน Hyper-V
- ต้องรันด้วยสิทธิ์ Administrator
- ต้องทราบชื่อ NIC (Network Adapter Name) ที่ต้องการใช้
แนะนำให้ตรวจสอบชื่อ NIC ก่อนด้วย PowerShell:
Get-NetAdapter
-
คลิกขวาไฟล์
.bat→ Run as administrator -
กรอกข้อมูลตามที่สคริปต์ถาม:
Enter VMSwitch Name:ใส่ชื่อ vSwitch ที่ต้องการ (เช่นvSwitch-SET)Enter number of NICs:ใส่จำนวน NIC ที่จะรวม (เช่น2)- ใส่ชื่อ NIC ตามลำดับ (ต้องตรงกับ
Get-NetAdapter)
ต้องการสร้าง vSwitch ชื่อ vSwitch-SET และรวม NIC 2 ตัว: Ethernet0, Ethernet1
Input:
Enter VMSwitch Name:vSwitch-SETEnter number of NICs:2Enter NIC 1 Name:Ethernet0Enter NIC 2 Name:Ethernet1
ผลลัพธ์: สร้าง VMSwitch ใหม่ที่ผูกกับ NIC ทั้ง 2 ตัวแบบ SET
สคริปต์จะ:
-
รับชื่อ VMSwitch และจำนวน NIC จากผู้ใช้
-
รับชื่อ NIC ทีละตัว แล้วนำมาประกอบเป็น list รูปแบบ:
- NIC เดียว:
"NIC1" - หลาย NIC:
"NIC1","NIC2","NIC3"
- NIC เดียว:
-
เรียกคำสั่ง PowerShell เพื่อสร้าง VMSwitch:
New-VMSwitch -Name "<VMSWITCH_NAME>" `
-NetAdapterName "<NIC1>","<NIC2>" `
-EnableEmbeddedTeaming $true `
-AllowManagementOS $trueสคริปต์ .bat นี้ใช้สำหรับ ลบ Hyper-V Virtual Switch (VMSwitch) ตามชื่อที่ระบุ ผ่าน PowerShell โดยใช้ -Force เพื่อบังคับลบ
- ลบ VMSwitch ด้วยชื่อที่ผู้ใช้ระบุ
- ใช้
-Forceเพื่อบังคับลบ - Import Hyper-V module อัตโนมัติก่อนลบ
- Windows ที่เปิดใช้งาน Hyper-V
- ต้องรันด้วยสิทธิ์ Administrator
- ต้องทราบชื่อ VMSwitch ที่ต้องการลบ
-
คลิกขวาไฟล์
.bat→ Run as administrator -
กรอกชื่อ vSwitch ที่ต้องการลบ:
Enter VMSwitch Name to remove:(เช่นvSwitch-SET)
ต้องการลบ vSwitch ชื่อ vSwitch-SET
Input:
Enter VMSwitch Name to remove:vSwitch-SET
ผลลัพธ์: ลบ VMSwitch ชื่อ vSwitch-SET
สคริปต์จะ:
- รับชื่อ VMSwitch จากผู้ใช้
- เรียก PowerShell เพื่อนำเข้าโมดูล Hyper-V และลบ vSwitch:
Import-Module Hyper-V
Remove-VMSwitch -Name "<VMSWITCH_NAME>" -Force-
การลบ VMSwitch จะทำให้ VM ที่ผูกกับ vSwitch นั้น Network หลุดทันที
-
แนะนำให้ตรวจสอบก่อนว่ามี VM ใช้งานอยู่หรือไม่:
Get-VMNetworkAdapter -All | Select VMName, SwitchName, Name
-
ตรวจสอบรายการ VMSwitch ทั้งหมด:
Get-VMSwitch