info@umitdemirtas.com

PowerShell : vCenter’a Bağlanmak

Ümit Demirtaş

Created with Sketch.

PowerShell : vCenter’a Bağlanmak

Merhabalar, bu yazımda vCenter ile ilgili komutları çalıştırmak için vCenter’a bağlantı kuracağız.

Bir ESXi host’ta veya vCenter’da faydalı bir şey yapmadan önce sunucuya bağlanmamız gerekir. vCenter’a veya bir ESXi host’a bağlanmak şu komutla yapılır:

Connect-VIServer

Bu PowerCLI komut istemine girerseniz, bunun gibi değerler istenir:

PowerShell vCenter Connect

Eğer Connect-VIServer sizden bir kullanıcı adı ve parola isteyecek olursa, vCenter bağlantısını içeren bir nesne alacaksınız. Kullanıcı adı parolanızı girerek bağlantıyı oluşturabilirsiniz.

Şimdi bir komut çalıştırdığınızda, kurduğunuz bağlantıyla çalışır, örneğin vCenter’ınızdaki tüm VM’leri listelemek için Get-VM komutunu kullanabilirsiniz.

PowerShell Get-VM

Bunu komut dosyalarınızda kullanmak istediğinizde elbette pek güvenli olmayacaktır. Şifreniz düz metin olarak görünür ve komut satırından bu şekilde çalıştırırsanız geçmişinizde görünür olacaktır. Kullanıcı adlarını ve şifreleri metin dosyalarında kullanmak istiyorsanız, bunun için standart PowerShell komutlarından PSCredential nesnesini kullanmak daha iyidir. PSCredential nesnesini aşağıdakilerle oluşturabilirsiniz:

$credentials=Get-Credential
$credentials=Get-Credential -UserName administrator@vsphere.local -Message "vCenter Parolanızı Giriniz..."

Mesaj diyalog içerisinde bir parola istenir. Şimdi vCenter’a bağlanmak istiyorsanız, şunları kullanabilirsiniz:

Connect-VIServer -Server vcsa-01a.vsphere.local -Credential $credentials

Aynı anda daha fazla vCenter sunucusuna bağlanmak istiyorsanız veya yalnızca genel bağlantı kurmak istemiyorsanız iyi haberler var. Bağlantı nesnesini bir değişkene atayabilirsiniz. Bu değişkenle, bir sonraki örnekte gösterildiği gibi başka şeyler yapabilirsiniz:

$vc = Connect-VIServer -Server vcsa-01a.vsphere.local -Credential $credentials
Get-VM -Server $vc

Güvenli Bağlantı

Şimdi, bu yazının vCenter ile bağlantıda olduğunu söylediğimi biliyorum, ancak bence baştan itibaren güvenli olmanın çok önemli olduğunu düşünüyorum, bu yüzden script içindeki şifre kullanmak yapmanız gereken bir şey değil. Ancak bazen komut dosyalarınızda şifreleri olan hesapları kullanmakta zorlanmazsınız. Bu durumda, aşağıdakileri kullanmak daha iyidir:

$CredsFile = "Passwords.txt"
Read-Host -AsSecureString | ConvertFrom-SecureString | Out-File $CredsFile

Bu credentials’ı daha sonra kullanmak isterseniz şifre içeren dosyayı tekrar okuyabilirsiniz:

$securePassword = Get-Content $CredsFile | ConvertTo-SecureString
 
$credentials = New-Object System.Management.Automation.PSCredential ("administrator@vsphere.local", $securePassword)
Connect-VIServer -Server vcsa-01a.vsphere.local -Credential $credentials

 

Yorum yapılmamış

Yorumunuzu ekleyin