VMware vSphere PowerCLI कमांड प्रॉम्प्ट से VMware इन्फ्रास्ट्रक्चर को प्रबंधित करने के लिए पावरशेल मॉड्यूल का एक सेट है। आप वर्चुअल मशीन, डेटास्टोर, नेटवर्क या उपयोगकर्ताओं की स्थिति प्राप्त करने के लिए PowerCLI का उपयोग कर सकते हैं, विभिन्न सेटिंग्स का प्रबंधन कर सकते हैं, नई ऑब्जेक्ट बना सकते हैं, और ESXi, vCenter सर्वर, vSphere, vSAN और अन्य VMware उत्पादों के स्वचालन कार्यों में PowerShell का उपयोग कर सकते हैं।
वर्तमान में, VMware केवल PowerShell Core (7.0+) के लिए PowerCLI संस्करण विकसित कर रहा है। यह पॉवरशेल संस्करण क्रॉस-प्लेटफ़ॉर्म है और इसका उपयोग विंडोज, लिनक्स या मैकओएस में किया जा सकता है। Windows PowerShell 5.x के लिए पुराने PowerCLI मॉड्यूल के लिए केवल सुरक्षा सुधार जारी किए गए हैं। अद्यतन किए गए PowerShell कोर संस्करण का उपयोग करने की अनुशंसा की जाती है।
Windows पर VMware PowerCLI मॉड्यूल कैसे स्थापित करें?
आप VMware PowerCLI को विंडोज़ में ऑनलाइन या ऑफलाइन स्थापित कर सकते हैं।
PowerShell गैलरी से PowerCLI को ऑनलाइन स्थापित करने के लिए, नीचे दिए गए आदेश को चलाएँ:
Install-Module -Name VMware.PowerCLI
यदि आप केवल वर्तमान उपयोगकर्ता के लिए मॉड्यूल स्थापित करना चाहते हैं:
Install-Module VMware.PowerCLI -Scope CurrentUser
Find-Module -Name VMware.PowerCLI -AllVersions|select version
Install-Module -Name VMware.PowerCLI -RequiredVersion 12.4.0.17860403
स्थापना के दौरान, आपको अपने NuGet प्रदाता को अपडेट करने के लिए प्रेरित किया जाएगा। साथ ही, एक अविश्वसनीय पावरशेल गैलरी रिपॉजिटरी से इंस्टॉलेशन की पुष्टि करें। आप Set_PSRepository
. का उपयोग करके इसे विश्वसनीय बना सकते हैं cmdlet.
जांचें कि PowerCLI मॉड्यूल स्थापित किए गए हैं और उनके संस्करण प्रदर्शित करें:
Get-Module -ListAvailable VMware* | Select Name,version
अपने PowerCLI मॉड्यूल संस्करण को अपडेट करने के लिए, बस कमांड चलाएँ:
Update-Module -Name VMware.PowerCLI
choco search vmware
और इसे स्थापित करें:
choco install vmware-powercli-psmodule
PowerCLI मॉड्यूल अभी तक विंगेट में उपलब्ध नहीं है।
यदि आप एक अलग कंप्यूटर (डिस्कनेक्टेड वातावरण) पर PowerCLI स्थापित करना चाहते हैं, तो आप ऑफ़लाइन इंस्टॉलर का उपयोग कर सकते हैं।
- पॉवरसीएलआई मॉड्यूल के साथ एक ज़िप फ़ाइल डाउनलोड करें https://code.vmware.com/web/tool/vmware-powercli (वर्तमान VMware-PowerCLI 12.4.1 के साथ ज़िप संग्रह का आकार लगभग 80 एमबी है);
- संग्रह को कंप्यूटर पर पावरशेल मॉड्यूल के साथ निर्देशिका में अनज़िप करें (आप
$env:PSModulePath
का उपयोग करके PoSh मॉड्यूल निर्देशिकाओं की सूची प्राप्त कर सकते हैं। ) आमतौर परC:\Program Files\WindowsPowerShell\Modules
प्रयोग किया जाता है। - इंटरनेट से डाउनलोड की गई फ़ाइलों को अनब्लॉक करें:
cd “c:\Program Files\WindowsPowerShell\Modules”
Get-ChildItem * -Recurse | Unblock-File - PowerCLI कंसोल खोलें और सुनिश्चित करें कि PowerCLI मॉड्यूल अभी उपलब्ध है:
Get-Module -Name VMware.PowerCLI –ListAvailable
पावरसीएलआई मॉड्यूल को वर्तमान पावरशेल आईएसई या विजुअल स्टूडियो कोड सत्र में आयात करने के लिए, निम्नलिखित कमांड चलाएँ:
Import-Module VMware.VimAutomation.Core
मॉड्यूल लोड करते समय आपको यह त्रुटि संदेश दिखाई दे सकता है:
<पूर्व>आयात-मॉड्यूल:फ़ाइल C:\Program Files\WindowsPowerShell\Modules\VMware.VimAutomation.Sdk\12.4.0.18627054\VMware.VimAutomation.Sdk.psm1 लोड नहीं किया जा सकता क्योंकि इस सिस्टम पर स्क्रिप्ट चलाना अक्षम है।फिर आपको पावरशेल स्क्रिप्ट निष्पादन नीति को कॉन्फ़िगर करना होगा। वर्तमान सत्र में मॉड्यूल का उपयोग करने की अनुमति देने के लिए:
Set-ExecutionPolicy Unrestricted -Scope Process
आप किसी दूरस्थ कंप्यूटर पर स्थापित PowerCLI मॉड्यूल का उपयोग कर सकते हैं। ऐसा करने के लिए, PSRemoting का उपयोग करके इसे दूरस्थ रूप से आयात करें:
$session = New-PSSession -ComputerName mun-svr01
PowerCLI मॉड्यूल को अपने कंप्यूटर में आयात करें:
Import-Module -PSsession $session -Name VMware.VimAutomation.Core
जब आपका काम हो जाए तो सत्र को बंद करना न भूलें:
Remove-PSSession $session
लिनक्स पर PowerCLI मॉड्यूल स्थापित करना
आप Windows और Linux दोनों में PowerCLI को स्थापित और उपयोग कर सकते हैं। सबसे पहले, अपने Linux होस्ट पर PowerShell Core स्थापित करें। फिर VMware PowerCLI को स्थापित करने के लिए कंसोल में निम्न कमांड चलाएँ:
pwsh
Install-Module -Name VMware.PowerCLI
अपने सत्र में मॉड्यूल आयात करें:
Import-Module VMware.PowerCLI
VMware vSphere और VMs को प्रबंधित करने के लिए बुनियादी PowerCLI कमांड
आप PowerCLI मॉड्यूल में cmdlets की सूची निम्नानुसार प्राप्त कर सकते हैं (2200 से अधिक कमांड उपलब्ध हैं):
Get-Command –Module *vmware*
VMware ग्राहक अनुभव सुधार कार्यक्रम (CEIP) अधिसूचना को अक्षम करने के लिए:
Set-PowerCLIConfiguration -Scope AllUsers -ParticipateInCeip $false
vCenter सर्वर या किसी ESXi होस्ट से कनेक्ट करने के लिए:
Connect-VIServer <vCenter_or_ESXi_FQDN>
स्व-हस्ताक्षरित प्रमाणपत्रों को अनदेखा करने के लिए:
Set-PowerCLIConfiguration -Scope AllUsers -InvalidCertificateAction Warn
अपने ESXi (या vCenter) सर्वर पर पंजीकृत वर्चुअल मशीनों की सूची प्रदर्शित करने के लिए:
Get–VM
केवल पावर्ड ऑफ VMs दिखाने के लिए:
Get-VM | Where {$_.Powerstate -ne “PoweredOn”} | Select Name, VMHost, NumCPU, MemoryMB, Version|Format-Table
. चुनें
वर्चुअल मशीन शुरू करने के लिए:
Start-VM -VM MUNTestVM1
VM को सही ढंग से पुनरारंभ करने के लिए (VMware टूल एजेंट का उपयोग करके):
Restart-VMGuest -VM MunTestVM1 -Confirm:$False
VM को बंद करने के लिए:
Shutdown-VMGuest -VM MunTestVM1 -Confirm:$False
VM के लिए स्नैपशॉट की सूची प्रदर्शित करने के लिए:
Get-VM -VM MunTestVM1 | Get-Snapshot| Format-List
चल रहे वीएम को वीमोशन का उपयोग करके दूसरे होस्ट में ले जाने के लिए, मूव-वीएम कमांड का उपयोग किया जाता है। उदाहरण के लिए, आप सभी VMs को mun-esxi1 से mun-esxi2 में ले जाना चाहते हैं:
Get-VMHost mun-esxi1|Get-Vm| Move-VM –Destination (Get-VMHost mun-esxi2)
नई वर्चुअल मशीन बनाने के लिए, नई-वीएम . का उपयोग करें सीएमडीलेट:
New-VM –Name MunTestVM1 -VMHost mun-esxi1 –ResourcePool Production –DiskGB 20 –DiskStorageFormat Thin –Datastore MUN_MSA2000_Prod1
Set-VM
का उपयोग करें वर्चुअल मशीन सेटिंग बदलने के लिए cmdlet।
PowerCLI cmdlets का उपयोग करके, आप अपने वर्चुअल मशीन के अतिथि ऑपरेटिंग सिस्टम के साथ सहभागिता कर सकते हैं। ऐसा करने के लिए, VMware उपकरण VM में स्थापित होना चाहिए। आप VMware टूल को नीचे दिखाए अनुसार अपडेट कर सकते हैं:
Get-VMGuest MunTestVM1 | Update-Tools
Invoke-VMS का उपयोग करके, आप अतिथि Windows OS में एक स्क्रिप्ट या प्रोग्राम चला सकते हैं:
$script = '"%programfiles%\Common Files\Microsoft Shared\MSInfo\msinfo32.exe" /report "%tmp%\inforeport"'
Invoke-VMScript -ScriptText $script -VM MunTestVM1 -HostCredential $hostCred -GuestCredential $VMCred -ScriptType Bat
किसी फ़ाइल को सभी VMs में कॉपी करने के लिए, यह कमांड चलाएँ:Get-VM | Copy-VMGuestFile -Source C:\PS\get-size.ps1 -Destination C:\PS\ - LocalToGuest -GuestUser administrator -GuestPassword P@ssdr0w2
मॉड्यूल में क्लस्टर, डेटासेंटर, डेटास्टोर और ESXi होस्ट प्रबंधित करने के लिए cmdlets शामिल हैं:
Get-VMHost
Get-Datacenter
Get-Cluster
Get-Datastore
Get-VirtualPortGroup
क्लस्टर में ESXi होस्ट की सूची प्रदर्शित करने के लिए:
Get-Cluster munprod1 | Get-VMHost | sort name
एक विशिष्ट ESXi होस्ट को रखरखाव मोड में रखें:Set-VMhost -VMHost mun-esxi1 -State Maintenance
किसी iSCSI LUN को किसी ESXi होस्ट से कनेक्ट करने के लिए और उस पर VMFS डेटास्टोर बनाने के लिए:Get-ScsiLun -VmHost mun-esxi1 | ft
New-Datastore -Name 'mun_iscsi_datastore' -VMHost mun-esxi1 -Path naa.6000xxxxxxxxxxxxxxxx -Vmfs
PowerCLI उदाहरण स्क्रिप्ट
VMware अवसंरचना मदों के बारे में जानकारी प्राप्त करने और वेबसाइट पर कुछ क्रियाओं को स्वचालित करने के लिए PowerCLI का उपयोग करने के कुछ उदाहरण हैं। आप अपनी खुद की PowerCLI स्क्रिप्ट लिखने के लिए निम्नलिखित लेखों के उदाहरणों का उपयोग कर सकते हैं:
- VMFS डेटास्टोर पर डिस्क स्थान की जांच करना
- VMware वर्चुअल डिस्क (VMDK फ़ाइलें) और Windows ड्राइव वॉल्यूम मैप करें
- आईपी या मैक पते द्वारा वीएमवेयर वीएम कैसे खोजें?
- VMware ESXi होस्ट पर SNMP कॉन्फ़िगर करें
- एक अटके हुए VMware VM को बलपूर्वक पुनरारंभ कैसे करें?
- VMware टेम्प्लेट में Windows अपडेट को स्वचालित कैसे करें?
- ESXi इंस्टालेशन इमेज में ड्राइवरों को इंजेक्ट करना
- VMware VM समेकन आवश्यक स्थिति अलार्म
- VM हार्डवेयर संस्करण को अपग्रेड करना
vSphere PowerCLI आपके VMware इन्फ्रास्ट्रक्चर को प्रबंधित और स्वचालित करने के लिए एक शक्तिशाली उपकरण है। PowerCLI में क्लाउड और ऑन-प्रिमाइसेस VMware इन्फ्रास्ट्रक्चर (vSphere, vSAN, vRealize ऑपरेशंस मैनेजर, vCloud डायरेक्टर, साइट रिकवरी मैनेजर, होराइजन, NSX-T, VMware क्लाउड सर्विसेज, VMware क्लाउड ऑन AWS, आदि) को प्रबंधित करने के लिए 2000 से अधिक cmdlets शामिल हैं।