search
Categories
Sponsors
VirtualMetric Hyper-V Monitoring, Hyper-V Reporting
Archive
Blogroll

Badges
MCSE
Community

Cozumpark Bilisim Portali
Posted in Virtual Machine Manager, Windows Powershell, Windows Server | No Comment | 3,806 views | 06/03/2009 12:13

SCVMM üzerinden yönettiğimiz tüm sanal sunucuların “Running”, “Saved” ya da “Stopped” gibi durumlarını, Powershell üzerinden html çıktısı olarak alabiliriz. Böyle bu Powershell scriptini, zamanlanmış görev olarak eklediğinizde, size belirli aralıklarla güncel durumları iletecek bir monitoring sayfası yapmış olacaksınız. Sonuç olarak sürekli birinin SCVMM üzerinden sunucu durumlarını izlemesi gerekmiyor.

1
get-vm | sort-object -Property VMHost -descending | convertto-html -Property Name, Status, VMHost > .\status.html

Yukarda görebileceğiniz gibi tüm VM’leri VMHost sırasına göre sıraladık ve sadece Name, Status ve VMHost’u gösterecek şekilde html’e attık. Property’leri get-vm yaptığınızda karşınıza gelen çıktıdan alabilirsiniz. Fakat örneği her makinayı incelemek istemiyorsunuz. Belki de sürekli stopped kalacak makinalar var. Sadece belirli prefixlere sahip sunucuları monitoring etmek istediniz, o zaman ne yapacağız?

1
get-vm | where-object {$_.Name -match "VM*" } | sort-object -Property Name | convertto-html -Property Name, Status > .\status.html

Son durumda sadece işimize yarar sunucuların gösterilmesini sağladık. Yukardaki senaryoda, çıktı olarak karşınıza sadece VM ile başlayan makinalar çıkacaktır. Bunu da -match ile sağlıyoruz. Dikkat ederseniz burada VMHost’a göre sıralamayı kaldırdık, isme göre sıralandırdık. Ayrıca sadece isim ve durumları bastırdık. Powershell üzerinden neredeyse hayal ettiğiniz her şeyi yapabilirsiniz. Bir sonraki yazıda yukardaki çıktıyı biraz renklendireceğiz ve bir nevi Argus yapmış olacağız. Yukardaki kodları sadece SCVMM için değil, Windows servisleri için de uyarlayabilirsiniz. O yüzden bu yazıyı Windows Server içersine de ekliyorum. Kolay gelsin.