vSphere cluster’daki ESXi host’lardan birinda sorun olduğunda ve erişilemez olduğunda, o host üzerindeki sanal makineler, cluster içerisindeki diğer ESXi host’lar üzerinde yeniden başlatılır. Bu durumdan etkilenen sanal makineleri bulmak ve HTML olarak çıktı almak için aşağıdaki script’i kullanabilirsiniz.
$Header = @"
<style>
TABLE {border-width: 1px; border-style: solid; border-color: black; border-collapse: collapse;}
TH {border-width: 1px; padding: 3px; border-style: solid; border-color: black; background-color: #6495ED;}
TD {border-width: 1px; padding: 3px; border-style: solid; border-color: black;}
</style>
"@
Import-Module VMware.PowerCLI
$vmcredential = Import-Clixml -Path "${env:\userprofile}\Test-VMware.Cred"
Connect-VIServer 192.168.1.10 -Credential $vmcredential
Get-Cluster "Cluster Name" | Get-VM |
Get-VIEvent -start (Get-Date).AddMinutes(-190) |
where {$_.FullFormattedMessage -match "vSphere HA restarted virtual machine"} | Sort CreatedTime -Descending |
select CreatedTime,FullFormattedMessage | ConvertTo-Html -Property CreatedTime,FullFormattedMessage -Head $Header | Out-File c:\Script\HARestartedVMs.html | ft -AutoSize
Daha önce export ettiğimiz VMware vCenter credential bilgilerini kullanarak vCenter’a bağlanıyoruz. VMware credential bilgilerini export etmek için şuraya bakabilirsiniz.
-start (Get-Date).AddMinutes(-190)
kısmındaki AddMinutes(-190)
değeri, script’in çalıştığı andan itibaren geriye doğru 190 dakikayı gösterir. Bu değeri istediğiniz gibi değiştirebilirsiniz. AddMinutes yerine AddDays(-1)
gibi bir değer de kullanabilirsiniz. Burada da geriye doğru 1 gün ifade edilir.
Script çalıştığında, c:\Script\ dizininde HARestartedVMs.html isimli bir dosya oluşturulacaktır.
IP
, credential
dosyası adı, ESXi host
isimleri ve vSwitch
isimlerini değiştirmeyi unutmayın.