VMware vSphere PowerCLI হল PowerShell মডিউলগুলির একটি সেট যা কমांड প্রম্পট থেকে VMware ইনফ্রাস্ট্রাকচার পরিচালনা করতে ব্যবহৃত হয়। আপনি PowerCLI ব্যবহার করে ভার্চুয়াল মেশিন, ডেটাস্টোর, নেটওয়ার্ক বা ব্যবহারকারীদের অবস্থা জানতে পারেন, বিভিন্ন সেটিংস পরিচালনা করতে পারেন, নতুন অবজেক্ট তৈরি করতে পারেন এবং ESXi, vCenter Server, vSphere, vSAN এবং অন্যান্য VMware পণ্যগুলোর জন্য অটোমেশন টাস্কে PowerShell ব্যবহার করতে পারেন।
বর্তমানে, VMware শুধুমাত্র PowerShell Core (7.0+) জন্য PowerCLI সংস্করণ ডেভেলপ করছে। এই PowerShell সংস্করণটি ক্রস-প্ল্যাটফর্ম এবং Windows, Linux, বা macOS-এ ব্যবহার করা যেতে পারে। Windows PowerShell 5.x-এর জন্য পুরানো PowerCLI মডিউলগুলোর জন্য শুধুমাত্র সিকিউরিটি ফিক্স রিলিজ করা হয়। আপডেটেড PowerShell Core সংস্করণ ব্যবহার করার পরামর্শ দেওয়া হয়।
Windows-এ VMware PowerCLI মডিউল ইনস্টল করার পদ্ধতি?
আপনি VMware PowerCLI-কে Windows-এ অনলাইন বা অফলাইন ইনস্টল করতে পারেন।
PowerShell Gallery থেকে অনলাইনে PowerCLI ইনস্টল করতে, নিচের কমান্ড চালান:
Install-Module -Name VMware.PowerCLI
PowerCLI vSphere সংস্করণ 6.5 বা পুরনো সংস্করণ MSI ইনস্টলার হিসেবে বিতরণ করা হত।
আপনি যদি শুধুমাত্র বর্তমান ব্যবহারকারীর জন্য মডিউল ইনস্টল করতে চান:
Install-Module VMware.PowerCLI -Scope CurrentUser
ডিফল্টভাবে, PowerShell Gallery থেকে সর্বশেষ PowerCLI সংস্করণ ইনস্টল হয়। আপনি যদি একটি নির্দিষ্ট PowerCLI সংস্করণ ইনস্টল করতে চান, তবে আপনি উপলব্ধ সমস্ত সংস্করণের তালিকা দেখতে পারেন এবং যা চান সেটি ইনস্টল করতে পারেন:
Find-Module -Name VMware.PowerCLI -AllVersions|select version
Install-Module -Name VMware.PowerCLI -RequiredVersion 12.4.0.17860403

ইনস্টলেশনের সময়, আপনাকে আপনার NuGet প্রোভাইডার আপডেট করার জন্য বলা হবে। এছাড়া, একটি অস্বস্তিকর PowerShell Gallery রিপোজিটরি থেকে ইনস্টলেশন নিশ্চিত করতে হবে। আপনি Set_PSRepository cmdlet ব্যবহার করে এটিকে একটি বিশ্বস্ত রিপোজিটরি করতে পারেন।
PowerCLI মডিউলগুলো ইনস্টল হয়েছে কিনা এবং তাদের সংস্করণ প্রদর্শন করুন:
Get-Module -ListAvailable VMware* | Select Name,version

আপনার PowerCLI মডিউল সংস্করণ আপডেট করতে, শুধু এই কমান্ড চালান:
Update-Module -Name VMware.PowerCLI
আপনার Windows-এ Choco প্যাকেজ ম্যানেজমেন্ট মডিউল ইনস্টল থাকলে, আপনি রিপোজিটরিতে PowerCLI মডিউল খুঁজে পেতে পারেন:
choco search vmware
এবং ইনস্টল করুন:
choco install vmware-powercli-psmodule
PowerCLI মডিউল এখনো winget-এ উপলব্ধ নয়।
আপনি যদি একটি আইসোলেটেড কম্পিউটারে (ডিসকনেক্টেড এনভায়রনমেন্ট) PowerCLI ইনস্টল করতে চান, তবে আপনি একটি অফলাইন ইনস্টলার ব্যবহার করতে পারেন।
- PowerCLI মডিউলের সাথে একটি ZIP ফাইল ডাউনলোড করুন https://code.vmware.com/web/tool/vmware-powercli (বর্তমান VMware-PowerCLI 12.4.1-এর সাথে ZIP আর্কাইভের আকার প্রায় ৮০ MB);
- আর্কাইভটি কম্পিউটারের PowerShell মডিউল ডিরেক্টরিতে আনজিপ করুন (আপনি
$env:PSModulePathব্যবহার করে PoSh মডিউল ডিরেক্টরির তালিকা পেতে পারেন)। সাধারণতC:\Program Files\WindowsPowerShell\Modulesব্যবহার করা হয়। - ইন্টারনেট থেকে ডাউনলোড করা ফাইলগুলো আনব্লক করুন:
cd “c:\Program Files\WindowsPowerShell\Modules”
Get-ChildItem * -Recurse | Unblock-File - PowerShell কনসোল খুলুন এবং নিশ্চিত করুন যে PowerCLI মডিউল এখন উপলব্ধ:
Get-Module -Name VMware.PowerCLI –ListAvailable
PowerShell মডিউল অফলাইন ইনস্টলেশন সম্পর্কে আরও পড়ুন।
বর্তমান PowerShell ISE বা Visual Studio Code সেশনে PowerCLI মডিউল ইম্পোর্ট করতে, নিচের কমান্ড চালান:
Import-Module VMware.VimAutomation.Core
আপনি মডিউল লোড করার সময় এই ত্রুটি বার্তা দেখতে পারেন:
Import-Module: File C:\Program Files\WindowsPowerShell\Modules\VMware.VimAutomation.Sdk\12.4.0.18627054\VMware.VimAutomation.Sdk.psm1 cannot be loaded because running scripts is disabled on this system.
তब আপনাকে PowerShell স্ক্রিপ্ট এক্সিকিউশন পলিসি কনফিগার করতে হবে। বর্তমান সেশনে মডিউল ব্যবহার করার অনুমতি দিতে:
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
Linux-এ PowerCLI মডিউল ইনস্টল করা
আপনি Windows এবং Linux উভয়েই PowerCLI ইনস্টল এবং ব্যবহার করতে পারেন। প্রথমে, আপনার Linux হোস্টে PowerShell Core ইনস্টল করুন। তারপর কনসোলে নিচের কমান্ডগুলো চালান VMware PowerCLI ইনস্টল করতে:
pwsh
Install-Module -Name VMware.PowerCLI

মডিউলটি আপনার সেশনে ইম্পোর্ট করুন:
Import-Module VMware.PowerCLI
VMware vSphere এবং VMs পরিচালনার জন্য মৌলিক PowerCLI কমান্ড
আপনি PowerCLI মডিউলগুলিতে কমান্ডলেটের তালিকা এইভাবে পেতে পারেন (২২০০-এর অধিক কমান্ড উপলব্ধ):
Get-Command –Module *vmware*

VMware Customer Experience Improvement Program (CEIP) বিজ্ঞপ্তি নিষ্ক্রিয় করতে:
Set-PowerCLIConfiguration -Scope AllUsers -ParticipateInCeip $false
vCenter Server বা একটি ESXi হোস্টের সাথে সংযোগ করতে:
Connect-VIServer <vCenter_or_ESXi_FQDN>
আপনি যদি আপনার vCenter Server-এ সেলফ-সাইনড SSL সার্টিফিকেট ব্যবহার করেন, তবে PowerCLI সংযোগ ব্লক করবে:
Connect-VIServer Error: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Prompt if you'd like to connect once or to add a permanent exception for this server. Additional Information: Could not establish trust relationship for the SSL/TLS secure channel with authority.
সেলফ-সাইনড সার্টিফিকেট উপেক্ষা করতে:
Set-PowerCLIConfiguration -Scope AllUsers -InvalidCertificateAction Warn
আপনার ESXi (বা vCenter) সার্ভারে রেজিস্টার্ড ভার্চুয়াল মেশিনের তালিকা দেখাতে:
Get–VM
শুধুমাত্র পাওয়ার অফ VM-গুলো দেখাতে:
Get-VM | Where {$_.Powerstate -ne “PoweredOn”} | Select Name, VMHost, NumCPU, MemoryMB, Version|Format-Table

একটি ভার্চুয়াল মেশিন চালু করতে:
Start-VM -VM MUNTestVM1
একটি VM সঠিকভাবে রিস্টার্ট করতে (VMware tools এজেন্ট ব্যবহার করে):
Restart-VMGuest -VM MunTestVM1 -Confirm:$False
একটি VM শাট ডাউন করতে:
Shutdown-VMGuest -VM MunTestVM1 -Confirm:$False
একটি VM-এর স্ন্যাপশটের তালিকা প্রদর্শন করতে:
Get-VM -VM MunTestVM1 | Get-Snapshot| Format-List
VMotion ব্যবহার করে একটি চলমান VM অন্য হোস্টে সরাতে, Move-VM কমান্ড ব্যবহার করা হয়। উদাহরণস্বরূপ, আপনি mun-esxi1 থেকে mun-esxi2-এ সব VM সরাতে চান:
Get-VMHost mun-esxi1|Get-Vm| Move-VM –Destination (Get-VMHost mun-esxi2)
একটি নতুন ভার্চুয়াল মেশিন তৈরি করতে, New-VM cmdlet ব্যবহার করুন:
New-VM –Name MunTestVM1 -VMHost mun-esxi1 –ResourcePool Production –DiskGB 20 –DiskStorageFormat Thin –Datastore MUN_MSA2000_Prod1
ভার্চুয়াল মেশিন সেটিংস পরিবর্তন করতে Set-VM cmdlet ব্যবহার করুন।
PowerCLI cmdlets ব্যবহার করে, আপনি আপনার ভার্চুয়াল মেশিনের গেস্ট অপারেটিং সিস্টেমের সাথে ইন্টারঅ্যাক্ট করতে পারেন। এর জন্য VMware Tools VM-এ ইনস্টল করা থাকতে হবে। আপনি নিচেরভাবে VMware Tools আপডেট করতে পারেন:
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
সকল VM-এ একটি ফাইল কপি করতে এই কমান্ড চালান: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
একটি ESXi হোস্টে iSCSI LUN সংযুক্ত করে VMFS ডেটাস্টোর তৈরি করতে:Get-ScsiLun -VmHost mun-esxi1 | ftNew-Datastore -Name 'mun_iscsi_datastore' -VMHost mun-esxi1 -Path naa.6000xxxxxxxxxxxxxxxx -Vmfs
টিপ। ফ্রি VMware vSphere Hypervisor-এ PowerCLI রিড-অনলি মোডে কাজ করে। এর মানে আপনি হোস্ট এবং VM সেটিংস দেখার কমান্ড ব্যবহার করতে পারেন, কিন্তু সেগুলো পরিবর্তন করতে পারবেন না।
PowerCLI উদাহরণ স্ক্রিপ্ট
ওয়েবসাইটে PowerCLI ব্যবহার করে VMware ইনফ্রাস্ট্রাকচার আইটেম সম্পর্কে তথ্য পাওয়ার এবং কিছু অ্যাকশন অটোমেট করার কিছু উদাহরণ রয়েছে। আপনি নিচের নিবন্ধগুলো থেকে উদাহরণ ব্যবহার করে আপনার নিজস্ব PowerCLI স্ক্রিপ্ট লিখতে পারেন:
- VMFS ডেটাস্টোরে ফ্রি ডিস্ক স্পেস চেক করা
- VMware ভার্চুয়াল ডিস্ক (VMDK ফাইল) এবং Windows ড্রাইভ ভলিউম ম্যাপ করা
- IP বা MAC ঠিকানা দিয়ে VMware VM খুঁজে বের করা
- VMware ESXi হোস্টে SNMP কনফিগার করা
- একটি আটকে যাওয়া VMware VM ফোর্স রিস্টার্ট করা
- VMware টেমপ্লেটে Windows আপডেট অটোমেট করা
- ESXi ইনস্টলেশন ইমেজে ড্রাইভার ইনজেক্ট করা
- VMware VM কনস olidেশন Needed স্ট্যাটাস অ্যালার্ম
- VM হার্ডওয়্যার ভার্সন আপগ্রেড করা
vSphere PowerCLI আপনার VMware ইনফ্রাস্ট্রাকচার পরিচালনা এবং অটোমেট করার একটি শক্তিশালী টুল। PowerCLI-তে ২০০০-এর বেশি cmdlet রয়েছে যা ক্লাউড এবং অন-প্রেমিস VMware ইনফ্রাস্ট্রাকচার (vSphere, vSAN, vRealize Operations Manager, vCloud Director, Site Recovery Manager, Horizon, NSX-T, VMware Cloud Services, VMware Cloud on AWS, ইত্যাদি) পরিচালনা করতে সাহায্য করে।