Her IT sektöründeki kişinin bildiği gibi güvenlik politikaları sebebiyle şifrelerimizi belli periyotlar halinde sürekli olarak değiştirmeliyiz. Bu şifreler kullanıcı hesabınızdan tutun da, ortamınızda bulunan console araçları ya da vmware ortamında bulunan esx hostlarınıza kadar geçerlidir. Ortamınızda büyük bir cloud yapısı var ise esx hostlarınızın şifrelerini tek tek değiştirmek oldukça zahmetli ve zaman harcamanıza sebep olabilmektedir.
İşte böyle büyük bir ortama sahipseniz, esx hostlarınızın şifrelerini Powercli üzerinden kolaylıkla değiştirebilirsiniz. Ancak bunu tek bir komut satırı ile değil bir script çalıştırarak yapabilir ve zahmetsiz bir şekilde tüm esx hostalarınızın şifrelerini değiştirebilirsiniz. Bu scripti sizler için aşağıda paylaşıyor olacağız. Ancak öncesinde ufak bir not; scripti çalıştırmak için öncelikle powercli üzerinden Vcenter ortamınıza bağlanmanız gerekmektedir.
$sunuculistesi = read-host “ESX sunucularin listesi icin bir path belirtin”
# Eski root credential alma scripti
$eskirootparola = Read-Host “Eski root sifresini girin” -AsSecureString
$eskirootCredential = new-object -typename System.Management.Automation.PSCredential -argumentlist “root”,$eskirootparola
# Yeni root credential alma scripti
$yenirootParola = Read-Host “Yeni root sifresini girin” -AsSecureString
$yenirootCredential = new-object -typename System.Management.Automation.PSCredential -argumentlist “root”,$yenirootParola
$yenirootParola2 = Read-Host “Yeni root sifresini yeniden girin” -AsSecureString
$yenirootCredential2 = new-object -typename System.Management.Automation.PSCredential -argumentlist “root”,$yenirootParola2
# Sifrelerin karsilastirilmasi scripti
If ($yenirootCredential.GetNetworkCredential().Password -ceq $yenirootCredential2.GetNetworkCredential().Password) {
# Yeni root hesabı olusturma scripti
$rootaccount = New-Object VMware.Vim.HostPosixAccountSpec
$rootaccount.id = “root”
$rootaccount.password = $yenirootCredential.GetNetworkCredential().Password
$rootaccount.shellAccess = “/bin/bash”
# Root sifresini degistirmek istediginiz sunucularin listesi scripti
Get-Content $sunuculistesi | %{
Connect-VIServer $_ -User root -Password $eskirootCredential.GetNetworkCredential().Password -ERRORAction SilentlyContinue -ERRORVariable ConnectERROR | Out-Null
If ($ConnectERROR -ne $Null) {
Write-Host “HATA: Failed to connect to ESX server:” $_
}
Else {
$si = Get-View ServiceInstance
$acctMgr = Get-View -Id $si.content.accountManager
$acctMgr.UpdateUser($rootaccount)
Write-Host “Root sifreniz basariyla degistirildi” $_
Disconnect-VIServer -Confirm:$False | Out-Null
}
}
}
Else {
Write-Host “HATA: Girmis oldugunuz yeni root sifreniz eslesmedi”
}
Bu yazımda sizlere PowerCLI Üzerinden ESX root Şifreleri Nasıl Değiştirilir? Konusundan bahsettim. Faydalı olması dileğiyle.