USV eines Hyper-V mit WMI-Events überwachen


Es bringen zwar nicht alle USVs eine Unterstützung für WMI mit, aber die USVs von APC tun dies zum Glück. Somit ist es möglich, auch unter einem Microsoft Hyper-V Server den Status der USV abzufragen, ohne die herstellerspezifische Software zu installieren.

In einem früheren Artikel wurde schon mal auf die Möglichkeiten hingewiesen, wie eine Abfrage in Powershell aussehen könnte: https://newyear2006.wordpress.com/2010/01/16/hyper-v-r2-server-mit-usv-absichern-per-vbscript-oder-powershell/

Aber es gibt immer eine noch elegantere Möglichkeit. Der im Artikel verlinkte Foreneintrag, pollt die ganze Zeit den Status der Batterie. Sobald eine Änderung erkannt wird, wird darauf reagiert. Eine schönere Variante ist die Verwendung von WQL der WMI Query Language und Anwendung von Intrinsic Events.

Eine kompakte aber gute Einführung in WQL gibts hier:
1. WMI query language – An introduction 
2. WMI query language – Keywords and Operators
3. WMI query language – Data Queries: SELECT, FROM, and WHERE
4. WMI query language – Data Queries: Associators Of
5. WMI query language – Data Queries: References Of
6. WMI query language – Event Queries: Introduction
7. WMI query language – Event Queries: Syntax
8. WMI query language – Event Queries: Intrinsic Events
9. WMI query language – Event Queries: Extrinsic Events
10. WMI query language – Schema queries

Mittels dieser Intrinsic Events kann man folgendes Konstrukt schreiben:

$query = "select * from __instanceModificationEvent within 60 where targetinstance ISA ‚Win32_Battery‘ AND targetinstance.BatteryStatus = 1"
Register-WmiEvent –Query $query –Action {Write-Host "Battery Alarm"}

Dabei wird alle 60 Sekunden der Batteriestatus der Klasse Win32_Battery abgefragt. Sollte dieser auf den Wert 1 geändert sein, wird mit der Ausgabe von “Battery Alarm” reagiert. Natürlich könnte hier dann alles mögliche passieren.

Aber Achtung WMI-Events laufen nur solange die Powershell Konsole läuft. Ein verlassen der Konsole oder gar ein Reboot überlebt der Event nicht. Aber dafür kann man PowerEvents verwenden: http://powerevents.codeplex.com/

2 Antworten to “USV eines Hyper-V mit WMI-Events überwachen”

  1. Quirel Says:

    Dieser Blogeintrag, beschreibt Powerchute Personal Edition mit Bildern http://www.howtogeek.com/howto/33776/powerchute-makes-managing-your-apc-ups-easier-during-power-outages/ und verweist auf eine Open Source Software: APCUPSD: http://www.apcupsd.org/, Source unter: http://sourceforge.net/projects/apcupsd/

  2. Go to IT Says:

    Toate știri au sursa lor la rădăcina domeniu. Da de exemplu Cisco comută la începutul lui
    mai intreprinderea cu totuși1984 de la an la an funcționale eficiente, asta aplicat la cine modalități de pachete de rutare între computere.
    Se de interes la soluții mai avansate care asigură
    o lungă perioadă de timp de funcționare a dispozitivului.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s


%d Bloggern gefällt das: