AutomationVMware

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 VersionPowerShell Version
Windows.NET Framework 4.7.2 or later
.NET Core 3.1
Windows PowerShell 5.1
PowerShell 7.x
Linux.NET Core 3.1PowerShell 7.x
macOS.NET Core 3.1PowerShell 7.x
VMware PowerCLI 13.0.0 için .NET ve Powershell Versiyon Gereksinimleri

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
  1. Başlat menüsü > Çalıştır > regedit > OK seçeneğini seçin.
  2. 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 versionMinimum value
.NET Framework 4.5378389
.NET Framework 4.5.1378675
.NET Framework 4.5.2379893
.NET Framework 4.6393295
.NET Framework 4.6.1394254
.NET Framework 4.6.2394802
.NET Framework 4.7460798
.NET Framework 4.7.1461308
.NET Framework 4.7.2461808
.NET Framework 4.8528040
.NET Framework 4.8.1533320
.NET Framework minimum versiyon bilgileri

.NET Framework versiyon ve build number ile ilgili tüm detaylara aşağıdaki linkten ulaşabilirsiniz.

https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed

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

  1. 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

  1. Makinenizdeki Powershell modüllerinin bulunduğu klasörleri listelemek için aşağıdaki komutu çalıştırın.
$env:PSModulePath

  1. İndirmiş olduğunuz .zip dosyasını bir üst adımda listelenen klasörlerden herhangi birine extract edin.
  2. Kopyalamış olduğunuz dosyaları unblock edin.
cd klasorYolu # modüllerin bulunduğu klasör
Get-ChildItem * -Recurse | Unblock-File

  1. 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.

https://www.vmware.com/solutions/trustvmware/ceip.html

Leave a Reply

Your email address will not be published. Required fields are marked *