2011. augusztus 12., péntek

PowerCLI vCheck 5.40

Nem tudom, ki milyen eszközt használ arra, hogy gyors áttekintést kapjon a virtuális környezete állapotáról, értesüljön a hibákról, lássa mi történt mostanság (ha többen adminisztrálnak) a virtuális gépek terén, stb. Mivel még a VMware megismerése előtt szívesen foglalkoztam Powershell-lel, nagyon örültem amikor láttam, milyen aktív közösségi élet folyik a PowerCLI terén. Így arra gondoltam, majd PowerCLI lesz az alapja annak a napi riportnak, amit készítek. Még mielőtt igen nagy energiát fektettem volna bele, belebotlottam Alan Renouf nagyon hasznos és nagyon sok mindenre kiterjedő scriptjére, a vCheck-re. Rendületlenül fejlődik a script, nem csak Alan által, hanem a közösség tagjai is legalább ötlet szinten hozzájárulnak.  Nem sorolnám fel, hogy milyen lekérdezéseket hajt végre, akit érdekel töltse le innen, és akár a futtatása nélkül (a script elejének elolvasásával) is meggyőződhet a tudásáról.

Használatának feltételei:
  • Powershell 2.0
  • VMware vSphere PowerCLI 4.1 U1
  • VMware vCenter Update Manager PowerCLI 4.1 (opcionális)
A script változtatás nélkül egy HTML formátumú levelet kreál, és küld el a megadott címre, címekre. A kényelmesebb használat érdekében két módosítást végeztem el.
  • A riportot a levélben mint csatolt állományt küldöm el.
  • Beintegráltam a vSphere kliensbe, így mindig az előző éjszakai állapotot onnan is meg tudom tekinteni
Ahhoz, hogy csatolt állományként kapjam a riportot, módosítani kellett a Send-SMTPmail eljárást a következő módon:

function Send-SMTPmail($to, $from, $subject, $smtpserver, $body, $att1) {
    $mailer = new-object Net.Mail.SMTPclient($smtpserver)
    $msg = new-object Net.Mail.MailMessage($from,$to,$subject,$body)
    $mailer.useDefaultCredentials = $true
    $att = new-object Net.Mail.Attachment($att1)
    $msg.Attachments.Add($att)
    $msg.IsBodyHTML = $true
    $mailer.send($msg)
}


A tényleges küldésnél pedig:

if ($SendEmail) {
    Write-CustomOut "..Sending Email"
    $Filename = "C:\tmp\" + $VIServer + "vCheck" + "_" + $Date.Day + "-" + $Date.Month + "-" + $Date.Year + ".htm"
    $MyReport | out-file -encoding ASCII -filepath $Filename
    send-SMTPmail $EmailTo $EmailFrom "$VISRV vCheck Report" $SMTPSRV "Lásd a csatolt állományban!!" $Filename
}


A vSphere kliens integráció egy kicsit trükkösebb, de mint itt olvasható nem lehetetlen. Érdemes megcsinálni, mert praktikus, és milyen jó látni, hogy egy saját plugin is van a vSphere kliensben:)



  Végül egy részlet a riportból:

Nincsenek megjegyzések:

Megjegyzés küldése