यह आलेख PowerShell कंसोल से हाइपर-V वर्चुअल मशीन के प्रबंधन के बारे में है। हम देखेंगे कि वर्चुअल स्विच और वर्चुअल मशीन कैसे बनाएं, VM सेटिंग्स कैसे बदलें, और VMs को कैसे प्रबंधित करें। आप विभिन्न कार्यों को स्वचालित करने के लिए अपने हाइपर-वी वीएम या अपने पावरशेल स्क्रिप्ट में मैन्युअल रूप से प्रबंधित करने के लिए इन आदेशों का उपयोग कर सकते हैं।
विंडोज सर्वर और विंडोज 10/11 पर हाइपर-वी रोल कैसे सक्षम करें
हाइपर-V भूमिका को स्थापित करने के लिए, एक होस्ट के पास वर्चुअलाइजेशन समर्थन के साथ एक SLAT-सक्षम CPU होना चाहिए। Windows सर्वर पर, हाइपर-V भूमिका को स्थापित करने के लिए निम्न PowerShell कमांड का उपयोग किया जाता है:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
डेस्कटॉप संस्करणों (विंडोज 10 और 11) में, हाइपर-वी भूमिका निम्नानुसार स्थापित की जाती है:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
हाइपर-V होस्ट को प्रबंधित करने के लिए, हाइपर-V पावरशेल मॉड्यूल कंप्यूटर पर स्थापित होना चाहिए। आप उपलब्ध आदेशों की पूरी सूची प्रदर्शित कर सकते हैं (वे आपके विंडोज संस्करण पर निर्भर करते हैं) निम्नानुसार है:
Get-Command -Module hyper-v
Windows Server 2022 में, हाइपर-V मॉड्यूल में 245 cmdlets उपलब्ध हैं।
हाइपर-V होस्ट सेटिंग्स की सूची प्रदर्शित करने के लिए, नीचे दिए गए कमांड का उपयोग करें:
Get-VMHost|fl *
केवल उपलब्ध CPU कोर और RAM की संख्या के बारे में जानकारी दिखाने के लिए:
Get-VMHost| select LogicalProcessorCount, MemoryCapacity
. चुनें
Set-VMHost
का उपयोग करें हाइपर- V होस्ट सेटिंग्स बदलने के लिए। निम्न आदेश डिफ़ॉल्ट पथ को वर्चुअल डिस्क और VM कॉन्फ़िगरेशन फ़ाइलों में बदल देगा:
Set-VMHost -VirtualMachinePath E:\VMs -VirtualHardDiskPath E:\VMs\VHD'
पावरशेल के साथ हाइपर-V वर्चुअल स्विच बनाएं
सबसे पहले, अपने हाइपर-वी होस्ट पर वर्चुअल स्विच बनाएं। वर्चुअल मशीनें केवल वर्चुअल स्विच के माध्यम से नेटवर्क तक पहुंच सकती हैं।
आइए हाइपर-वी होस्ट पर उपलब्ध भौतिक नेटवर्क एडेप्टर की सूची प्रदर्शित करें:
Get-NetAdapter | where {$_.status -eq "up"}
एक बाहरी वर्चुअल स्विच बनाएं:
New-VMSwitch -Name "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType External
पावरशेल का उपयोग करके एक हाइपर-V वर्चुअल मशीन बनाएं
एक नई हाइपर-V वर्चुअल मशीन बनाने के लिए, New-VM
cmdlet का उपयोग किया जाता है। इस उदाहरण में, हम 1GB रैम और 10GB VHDX डिस्क के साथ एक नई जनरेशन 2 VM बनाएंगे।
$VMName = "mun-prx2"
$VM = @{
Name = $VMName
MemoryStartupBytes = 1Gb
Generation = 2
NewVHDPath = "E:\HV\$VMName\$VMName.vhdx"
NewVHDSizeBytes = 10Gb
BootDevice = "VHD"
Path = "E:\HV\$VMName"
SwitchName = "ExternalVMSwitch"
}
New-VM @VM
हाइपर-वी पर विंडोज 11 वर्चुअल मशीन बनाने के लिए पावरशेल का उपयोग करने का एक उदाहरण यहां दिया गया है।
आइए उन आदेशों को देखें जिनका उपयोग आप VM सेटिंग्स को बदलने के लिए कर सकते हैं।
VM के लिए RAM का आकार बढ़ाने के लिए:
Get-VM -Name mun-prx2| Set-VMMemory -StartupBytes 2Gb
वीसीपीयू की संख्या बदलने के लिए:
Set-VMProcessor mun-prx2 -Count 2
हाइपर-V वर्चुअल मशीन के लिए स्वचालित स्टार्टअप सक्षम करें:
Get-VM –VMname mun-prx2 | Set-VM –AutomaticStartAction Start
VM से एक अतिरिक्त वर्चुअल डिस्क कनेक्ट करने के लिए, पहले vhdx फ़ाइल बनाएँ:
New-VHD -Path 'C:\VM\new-prx2-drive.vhdx' -SizeBytes 2GB
और फिर इसे अपने VM से कनेक्ट करें:
Add-VMHardDiskDrive -VMName mun-prx2 -Path 'C:\VM\new-prx2-drive.vhdx'
Hyper-V VMs को PowerShell के साथ कैसे प्रबंधित करें?
हाइपर-V होस्ट पर वर्चुअल मशीन की सूची प्रदर्शित करने के लिए:
Get-VM
कमांड कुछ बुनियादी गुणों के साथ VMs की सूची लौटाता है। सभी VM गुण प्रदर्शित करने के लिए, नीचे कमांड चलाएँ:
Get-VM -Name mun-dmz1 | fl *
केवल चल रहे VMs दिखाने के लिए:
Get-VM | where {$_.State -eq 'Running'}
वर्चुअल मशीन शुरू करने के लिए:
Start-VM -Name mun-app01
सभी रुकी हुई वर्चुअल मशीन शुरू करने के लिए:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
VM को बंद करें (अतिथि OS में एकीकरण सेवाओं का उपयोग करके सही शटडाउन):
Stop-VM -Name mun-app01
VM को बंद करने के लिए, बंद करें विकल्प का उपयोग किया जाता है:
Stop-VM -Name mun-app01 –TurnOff
ISO फ़ाइल को वर्चुअल सीडी/डीवीडी डिवाइस पर माउंट करें:
Set-VMDvdDrive -VMName mun-app01 -Path c:\iso\WinSrv2022.iso
सभी VM फ़ाइलों को फ़्लाई पर दूसरी डिस्क पर ले जाने के लिए, नीचे दिए गए कमांड का उपयोग करें:
Move-VMStorage mun-app01 -DestinationStoragePath D:\VM\mun-app01
आप Resize-VHD
. का उपयोग करके वर्चुअल डिस्क फ़ाइल को बढ़ा या छोटा कर सकते हैं सीएमडीलेट:
Resize-VHD -Path 'C:\VM\mun-fs01.vhdx' -SizeBytes 50Gb
VM का चेकपॉइंट (स्नैपशॉट) बनाने के लिए:
Get-VM -Name mun-app01| Checkpoint-VM -SnapshotName "Before upgrading SAP"
उपलब्ध चौकियों की सूची प्रदर्शित करने के लिए:
Get-Vm -Name mun-app01| Get-VMCheckpoint
किसी चेकपॉइंट से VM को उसकी पिछली स्थिति में पुनर्स्थापित करने के लिए:
Restore-VMCheckpoint -Name "Before upgrading SAP" -VMName mun-app01 -Confirm:$false
स्नैपशॉट निकालने के लिए:
Remove-VMCheckpoint -VMName mun-app01 -Name "Before upgrading SAP"
हाइपर-V में VM का निर्यात, आयात और क्लोनिंग इस आलेख में वर्णित है:
Export-VM -Name mun-app01 -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentState
वर्चुअल मशीन के अतिथि OS के IP पते प्राप्त करने के लिए:
Get-VM | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Status
Select चुनें
वर्चुअल मशीन कंसोल से कनेक्ट करने के लिए:
vmconnect.exe localhost mun-app01
आप vmbus (Windows Server 2016, Windows 10, और नए में उपलब्ध) के माध्यम से वर्चुअल मशीन के अतिथि OS से सीधे कनेक्ट करने के लिए PowerShell Direct का उपयोग कर सकते हैं। Invoke-Command (स्क्रिप्ट चलाने के लिए) और Enter-PSSession (एक इंटरैक्टिव पावरशेल सत्र चलाने के लिए) का उपयोग करें:
Invoke-Command -VMName mun-app01 -ScriptBlock {Get-Process}
Enter-PSSession -VMName mun-app01
पावरशेल डायरेक्ट का उपयोग करके हाइपर-वी होस्ट से वर्चुअल मशीन में फ़ाइलों की प्रतिलिपि बनाने के लिए, निम्न आदेश का उपयोग करें:
$PSSession = New-PSSession -VMName mun-app01 -Credential (Get-Credential)
Copy-Item -ToSession $PSSession -Path E:\ISO\install_image.iso -Destination D:\ISO\
आप हाइपर-वी होस्ट पर वर्चुअल मशीन को स्थानीय या दूरस्थ रूप से प्रबंधित करने के लिए पावरशेल का उपयोग कर सकते हैं (विंडोज सर्वर फुल जीयूआई या सर्वर कोर मोड पर, फ्री विंडोज हाइपर-वी सर्वर या विंडोज 10 पर) हाइपर-वी मैनेजर जैसे ग्राफिकल टूल्स के साथ। विंडोज एडमिन सेंटर।