Falls man eine USV mit Generex-Management hat, kann man sich auch RCCMD anschauen:
http://www.generex.de/content/view/17/51/lang,ge/
Gibt es auch für ESXI. Hier kann man ein passendes Shell-Script hinterlegen, dass alle laufenden VMs herunterfährt und dann den Host.
Passende Shell-Scripte findet man im Netz.