VMware PowerCLI Kurulumu
PowerCLI VMware altyapısını yönetebilmek adına içerisinde +7000 den fazla komut barındıran bir Powershell modülüdür. PowerCLI ile desteklenen VMware ürünlerinde pek çok operasyonları yönetebilir ve ortamınızdaki rutin süreçlerinizi otomatikleştirebilirsiniz. Günümüzde BT altyapılarındaki ihtiyaçlar, operasyonlar, planlı ya da plansız sürekli insan müdahalesi gerektiren işlerde en güvenilir ve en stabil çözüm olarak otomasyon karşımıza çıkıyor.
Otomasyon ile beraber manuel süreçlerden kurtulup, kendi politikanızı belirleyip alarmlar üretebilir, süreç iyileştirme sonrası kendinize boş vakitler ayırıp yeni konular ve projeler üzerine araştırma fırsatı kazanabilir, çalışmalarınızda daha kısa sürelerde değişiklikler yapıp, en doğru bilgiye otomasyon ile ulaşabilirsiniz.
PowerCLI için desteklenen VMware ürünleri
- VMware vSphere and vSAN
- VMware Cloud Services
- VMware Horizon
- VMware Cloud Director
- VMware Cloud on AWS
- VMware NSX-T Data Center
- VMware HCX
- VMware Site Recovery Manager
- vRealize Operations Manager
PowerCLI üzerinde çalışacağınız VMware ürünlerinin desteklediği sürümleri dikkate almak gerekiyor. Aşağıdaki linkte VMware in tüm ürünlerine ait desteklenen sürüm bilgilerini karşılaştırabilirsiniz.
https://interopmatrix.vmware.com/Interoperability
PowerCLI ile ilgili daha fazla bilgiye ve tüm dökümantasyona aşağıdaki adresten erişebilirsiniz:
https://developer.vmware.com/powercli
PowerCLI Sistem Gereksinimleri
PowerCLI modulünü doğru ve stabil bir şekilde kullanabilmemiz için öncelikle desteklenen doğru Powershell ve PowerCLI sürümlerini kullanmalıyız. Şuan için en güncel sürüm olan PowerCLI 13.0.0 ı kullanmak isterseniz modül kurulumunu yapacağınız işletim sisteminizde aşağıdaki .NET Framework ve Powershell versiyonlarına göre kurulum yapmanız gerekiyor.
Operating System | .NET Version | PowerShell Version |
Windows | .NET Framework 4.7.2 or later .NET Core 3.1 | Windows PowerShell 5.1 PowerShell 7.x |
Linux | .NET Core 3.1 | PowerShell 7.x |
macOS | .NET Core 3.1 | PowerShell 7.x |
PowerCLI 13.0.0 sistem gereksinimleri ve daha fazla detaylı bilgiye aşağıdaki linkten ulaşabilirsiniz.
https://developer.vmware.com/docs/17472/
Powershell versiyonu öğrenme
Linux ve MacOS üzerinde Powershell i temel olarak aynı şekilde kullanacağınız için Windows üzerinde kullandığınız komutlar Linux ve MacOS üzerinde de çalışacaktır.
Windows
Aşağıdaki komutu Powershell üzerinde çalıştırdıktan sonra mevcut Powershell versiyon bilgilerinin özet halini görebilirsiniz.
$PSVersionTable.PSVersion
Linux
Linux için Powershell üzerinde aşağıdaki komutu çalıştırdıktan sonra versiyon bilgileri ile ilgili tüm verileri bulabilirsiniz.
$PSVersionTable
MacOS
Linux için Powershell üzerinde aşağıdaki komutu çalıştırdıktan sonra versiyon bilgileri ile ilgili tüm verileri bulabilirsiniz.
$PSVersionTable
.NET Framework versiyonu öğrenme
.NET Framework bağımlı uygulama geliştirme ve dağıtma işlemleri yaparken işletim sisteminde hangi sürümlerin yüklü olduğunu bilmemiz gerekebilir. Windows, Linux ve MacOS için .NET Framework ve .NET Core versiyonlarını görüntülemek için aşağıdaki yönergeleri takip edebilirsiniz.
Windows
Makinenizde yüklü olan .NET Framework bilgilerini Registry üzerinden ya da Powershell ile basit bir kod çalıştırıp elde edebiliriz. Aşağıdaki 2 yöntem ile .NET Framework versiyon bilgilerine ulaşabilirsiniz.
Registry Editor
- Başlat menüsü > Çalıştır > regedit > OK seçeneğini seçin.
- Registery Editor de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full subkeyini görüntüleyin.
Eğer burada Full subkeyi bulunmuyorsa .NET Framework 4.5 ya da üst sürümlerine sahip değilsiniz demektir.
Full subkeyi altında Release REG_DWORD ü var ise .NET Framework 4.5 ve üzeri bir sürüme sahip olduğunuz anlamına gelir. Bu REG_DWORD ün karşılığı bir .NET Framework versiyon değerine karşılık geliyor. Örnek olarak aşağıdaki ekran görüntüsünde .NET Framework 4.7.2 ye karşılık gelen 461814 değeri bulunuyor.
Aşağıda ilgili .NET Framework versiyonlarının minimum değerleri bulunuyor. Kendi ortamınızdaki Release REG_DWORD ünün hangi versiyona karşılık geldiğini buradan teyit edebilirsiniz.
.NET Framework version | Minimum value |
.NET Framework 4.5 | 378389 |
.NET Framework 4.5.1 | 378675 |
.NET Framework 4.5.2 | 379893 |
.NET Framework 4.6 | 393295 |
.NET Framework 4.6.1 | 394254 |
.NET Framework 4.6.2 | 394802 |
.NET Framework 4.7 | 460798 |
.NET Framework 4.7.1 | 461308 |
.NET Framework 4.7.2 | 461808 |
.NET Framework 4.8 | 528040 |
.NET Framework 4.8.1 | 533320 |
.NET Framework versiyon ve build number ile ilgili tüm detaylara aşağıdaki linkten ulaşabilirsiniz.
Powershell
Eğer .NET Framework 4.7.2 üzeri bir versiyona sahip iseniz aşağıdaki kodu Powershell üzerinde çalıştırdığınızda true sonucunu döndürecektir.
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -ge 461808
Aynı .NET Framework Registry bilgilerine aşağıdaki kod ile Powershell üzerinden ulaşabilirsiniz.
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
Linux
Aşağıdaki komutlar ile sunucunuzda yüklü olan .NET Runtime ve SDK versiyonlarını listeyelebilirsiniz.
root@myVM:~$ dotnet --list-runtimes
Microsoft.AspNetCore.App 3.1.32 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.12 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.32 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.12 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
root@myVM:~$ dotnet --list-sdks
6.0.404 [/usr/share/dotnet/sdk]
MacOS
Aşağıdaki komutlar ile MacOS üzerinde yüklü olan .NET Runtime ve SDK versiyonlarını listeyelebilirsiniz.
root@myMacbook:~$ dotnet --list-runtimes
Microsoft.AspNetCore.App 3.1.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
root@myMacbook:~$ dotnet --list-sdks
3.1.424 [/usr/local/share/dotnet/sdk]
7.0.100 [/usr/local/share/dotnet/sdk]
.NET Framework Kurulumu
Windows
Windows ihtiyacınız olan .NET Framework versiyonunlarına aşağıdaki link üzerinden ulaşabilirsiniz.
https://dotnet.microsoft.com/en-us/download/dotnet-framework
Linux & MacOS
Farklı Linux dağıtımları ve MacOS işletim sisteminde kurulum adımları farklılık gösterebileceğinden dolayı tüm detaylı bilgiye aşağıdaki linkten erişebilirsiniz.
https://learn.microsoft.com/tr-tr/dotnet/core/install/
PowerCLI Kurulumu
PowerCLI modüllerini ister Online isterseniz de Offline olarak kurulumunu gerçekleştirebilirsiniz. Kurulum yapacağınız sunucunuzdaki internet koşullarına bağlı olarak aşağıdaki yöntemleri izleyebilirsiniz.
İnternet erişiminiz varsa
Powershell üzerinden aşağıdaki komutu çalıştırıp Microsoft PowerShell Gallery den ilgili modülü indirebilirsiniz.
Install-Module -Name VMware.PowerCLI
İnternet erişiminiz yoksa
- Aşağıdaki adresten şuan için son sürüm PowerCLI 13.0.0 versiyonuna ait .zip dosyasını indirin.
https://developer.vmware.com/web/tool/13.0.0/vmware-powercli
- Makinenizdeki Powershell modüllerinin bulunduğu klasörleri listelemek için aşağıdaki komutu çalıştırın.
$env:PSModulePath
- İndirmiş olduğunuz .zip dosyasını bir üst adımda listelenen klasörlerden herhangi birine extract edin.
- Kopyalamış olduğunuz dosyaları unblock edin.
cd klasorYolu # modüllerin bulunduğu klasör
Get-ChildItem * -Recurse | Unblock-File
- PowerCLI modülünün Powershell üzerinde göründüğünü teyit edin.
Get-Module -Name VMware.PowerCLI -ListAvailable
Online ya da Offline olarak bu adımları tamamladıktan sonra PowerCLI yı artık kullanmaya başlayabilirsiniz. Eğer Powershell deki Execution Policy default ayarlarda bırakılmış ise ilgili modülleri kullanabilmek adına öncelikle bu policyi RemoteSigned olarak değiştirmeniz gerekicek. Windows da bu policy default olarak Restricted olarak ayarlanmış durumda.
Mevcut Execution-Policy i görmek için;
Get-ExecutionPolicy
Execution Policy i değiştirmek için;
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Policy ayarını değiştirdikten sonra aşağı komut ile PowerCLI modülünü import edip kullanabilirsiniz.
Import-Module VMware.PowerCLI
PowerCLI modülünü kullanmaya başladığınızda aşağıdaki gibi bir uyarı alabilirsiniz. Burada VMware in Müşteri Deneyimini İyileştirme Programına katılmak isterseniz aşağıdaki komutu çalıştırabilirsiniz.
Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $true
Aynı komut ile $false seçeneği ile bu uyarıyı devre dışı bırakabilirsiniz.
Customer Experience Improvement Program (CEIP) ile ilgili daha fazla bilgi için aşağıdaki adresi ziyaret edebilirsiniz.