hyper-v-direct-ssh เป็นโมดูล PowerShell ที่ออกแบบมาเพื่อจัดการเครื่องเสมือน Hyper-V (VMS) และสร้างการเชื่อมต่อ SSH โดยตรงกับพวกเขา โมดูลนี้มีฟังก์ชั่นสำหรับการเริ่มต้นและหยุด VMS ดึงข้อมูล VM และทำให้มั่นใจได้ว่าสคริปต์จะทำงานด้วยสิทธิ์ของผู้ดูแลระบบ
ตรวจสอบให้แน่ใจว่าคุณมีสิทธิ์ในการดูแลระบบในระบบของคุณ สคริปต์ต้องการการอนุญาตที่สูงขึ้นเพื่อจัดการ Hyper-V และดำเนินการคำสั่งบางอย่าง
ตรวจสอบให้แน่ใจว่า Hyper-V เปิดใช้งานในระบบของคุณ คุณสามารถเปิดใช้งาน Hyper-V โดยใช้ขั้นตอนต่อไปนี้:
Enable-WindowsOptionalFeature - Online - FeatureName Microsoft - Hyper - V - Allสคริปต์ต้องใช้ PowerShell เวอร์ชัน 7 ขึ้นไป ทำตามขั้นตอนเหล่านี้เพื่อติดตั้งหรืออัปเดต PowerShell:
ตรวจสอบให้แน่ใจว่าติดตั้งไคลเอนต์ SSH ในระบบของคุณ คุณสามารถติดตั้งไคลเอนต์ OpenSsh ได้โดยทำตามขั้นตอนเหล่านี้:
Add-WindowsCapability - Online - Name OpenSSH.Client * ssh -Vbrew install opensshเทอร์มินัลเปิด
เรียกใช้คำสั่งต่อไปนี้:
sudo apt-get install openssh-clientหรือสำหรับการแจกแจงแบบรอบต่อนาที:
sudo yum install openssh-clientsตรวจสอบให้แน่ใจว่า VM ของคุณได้รับการกำหนดค่าเพื่อให้ได้ที่อยู่ IP และสามารถเข้าถึงได้ผ่าน SSH ตรวจสอบการตั้งค่าเครือข่ายและการเชื่อมต่อก่อนเรียกใช้สคริปต์
บันทึกสคริปต์เป็น VMManagement.ps1 บนเครื่องในเครื่องของคุณ ตรวจสอบให้แน่ใจว่าเส้นทางไฟล์สามารถเข้าถึงได้และจดบันทึกเส้นทางสำหรับการเรียกใช้สคริปต์
VMManagement.ps1.VMManagement.ps1 ในการใช้โมดูลให้บันทึกสคริปต์เป็น VMManagement.ps1 และเรียกใช้โดยใช้ PowerShell ตรวจสอบให้แน่ใจว่าคุณมีสิทธิ์ในการดูแลระบบที่จำเป็นและเปิดใช้งาน Hyper-V ในระบบของคุณ
.VMManagement.ps1Get-Run-AsAdministratorทำให้มั่นใจได้ว่าสคริปต์จะทำงานด้วยสิทธิ์ของผู้ดูแลระบบ
พารามิเตอร์:
ScriptPath : เส้นทางไปยังสคริปต์ที่ต้องทำงานเป็นผู้ดูแลระบบตัวอย่าง:
Get-Run - AsAdministrator - ScriptPath " C:PathToScript.ps1 " Enable-HyperVตรวจสอบว่าเปิดใช้งาน Hyper-V บนระบบและเปิดใช้งานหรือไม่
ตัวอย่าง:
Enable-HyperV Test-PwshVersionตรวจสอบว่าเวอร์ชัน PowerShell ปัจจุบันเป็น 7 หรือมากกว่า
ตัวอย่าง:
Test-PwshVersion Get-VMListดึงรายชื่อชื่อ VM
ตัวอย่าง:
$vms = Get-VMList Get-VMNameแจ้งให้ผู้ใช้เลือก VM จากรายการ
ตัวอย่าง:
$vmName = Get-VMName Get-UserNameแจ้งให้ผู้ใช้ป้อนชื่อผู้ใช้สำหรับ SSH
ตัวอย่าง:
$username = Get-UserName Start-VMInstanceเริ่ม VM ที่ระบุ
พารามิเตอร์:
vmName : ชื่อของ VM ที่จะเริ่มต้นตัวอย่าง:
$vm = Start-VMInstance - vmName " MyVM " Add-Dashเพิ่มขีดกลางลงในสตริงทุกสองอักขระ
พารามิเตอร์:
str : สตริงที่จะเพิ่มขีดเส้นประตัวอย่าง:
$dashedString = Add-Dash - str " A1B2C3D4 " Get-VMIPดึงที่อยู่ IP ของ VM ที่ระบุ
พารามิเตอร์:
vmObject : วัตถุ VM ที่จะดึงที่อยู่ IPตัวอย่าง:
$ipAddress = Get-VMIP - vmObject $vm Stop-VMInstanceหยุด VM ที่ระบุ
พารามิเตอร์:
vmName : ชื่อของ VM ที่จะหยุดตัวอย่าง:
Stop-VMInstance - vmName " MyVM " Invoke-SSHConnectionเริ่มต้นการเชื่อมต่อ SSH กับ VM ที่ระบุ
พารามิเตอร์:
user : ชื่อผู้ใช้สำหรับการเชื่อมต่อ SSHvmIP : ที่อยู่ IP ของ VMตัวอย่าง:
Invoke-SSHConnection - user " username " - vmIP " 192.168.1.100 " Get-VMHeartbeatตรวจสอบสถานะการเต้นของหัวใจของ VM ที่ระบุ
พารามิเตอร์:
vmObject : วัตถุ VM ที่จะต้องตรวจสอบสถานะการเต้นของหัวใจตัวอย่าง:
$heartbeat = Get-VMHeartbeat - vmObject $vm