Korrekt Ausschaltung vum VMWare ESXi Hypervisor wann den APC UPS Batterieladungsniveau kritesch ass

Et gi vill Artikelen dobaussen iwwer wéi Dir PowerChute Business Edition konfiguréiert a wéi Dir mat VMWare vu PowerShell verbënnt, awer iergendwéi konnt ech dat alles net op enger Plaz fannen, mat enger Beschreiwung vun den subtile Punkten. Awer si existéieren.

1. Aféierung

Trotz der Tatsaach, datt mir eng Verbindung mat Energie hunn, entstinn heiansdo Problemer mat Stroum. Dëst ass wou d'UPS an d'Spill kënnt, awer seng Batterien, leider, daueren net laang. Wat kann een maachen? Ausmaachen!

Wärend all d'Servere kierperlech waren, waren d'Saache gutt gaang, PowerChute Business Edition huet eis gehollef. Gratis, fir 5 Serveren, wat ganz genuch war. En Agent, Server a Konsol goufen op enger Maschinn installéiert. Wéi d'Enn ukomm ass, huet den Agent einfach eng Kommandodatei ausgefouert, déi shutdown.exe /s /m op d'Nopeschserver geschéckt huet, an dann säin OS ofgeschalt huet. Jiddereen ass lieweg.
Dunn war et Zäit fir virtuell Maschinnen.

2. Hannergrond a Reflexiounen

Also wat hu mir? Näischt - ee kierperleche Server mat Windows Server 2008 R2 an een Hypervisor mat verschiddene virtuelle Maschinnen, dorënner Windows Server 2019, Windows Server 2003, an CentOS. An eng aner UPS - APC Smart-UPS.

Mir hunn iwwer NUT héieren, awer sinn nach net komm fir et ze studéieren; mir hunn nëmmen dat benotzt wat bei der Hand war, nämlech PowerChute Business Edition.

Den Hypervisor kann seng virtuell Maschinnen selwer ausschalten; alles wat bleift ass et ze soen datt et Zäit ass. Et gëtt sou eng nëtzlech Saach VMWare.PowerCLI, dëst ass eng Extensioun fir Windows Powershell déi Iech erlaabt Iech mam Hypervisor ze verbannen an alles ze soen wat Dir braucht. Et ginn och vill Artikelen dobaussen iwwer PowerCLI Astellungen.

3. Prozess

D'UPS war kierperlech ugeschloss un de Com Hafen vum 2008 Server, glécklecherweis war et do. Och wann dëst net wichteg ass - et war méiglech iwwer en Interface Converter (MOXA) op all virtuelle Windows Server ze verbannen. Weider ginn all Aktiounen op der Maschinn ausgeführt, mat där d'UPS ugeschloss ass - Windows Server 2008, wann net explizit anescht uginn. De PowerChute Business Edition Agent gouf drop installéiert. Hei ass den éischte subtile Punkt: den Agent Service muss net vum System gestart ginn, mee vum Benotzer, soss kann den Agent d'cmd Datei net ausféieren.

Als nächst hu mir .Net Framework 4.7 installéiert. E Restart ass hei erfuerderlech, och wann de Kader net explizit no der Installatioun freet, soss geet et net weider. Duerno kënnen nach Updates kommen, déi och installéiert musse ginn.

Als nächst hu mir PowerShell 5.1 installéiert. Erfuerdert och e Restart, och wann hien net freet.
Als nächst installéiert PowerCLI 11.5. Zimlech eng rezent Versioun, dofir déi fréier Ufuerderungen. Dir kënnt et iwwer den Internet maachen, et gi vill Artikelen iwwer dëst, awer mir hunn et schonn erofgelueden, also hu mir all d'Dateien an den Dossier Moduler kopéiert.

Iwwerpréift:

Get-Module -ListAvailable

Ok, mir gesinn datt mir installéiert hunn:

Import-Module VMWare.PowerCLI

Jo, d'Powershell Konsole gëtt natierlech als Administrator gestart.

Powershell Astellungen.

  • Erlaabt Ausféierung vun all Scripten:

Set-ExecutionPolicy Unrestricted

  • Oder Dir kënnt nëmmen d'Skriptzertifikater ignoréieren:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • Erlaabt PowerCLI fir mat Serveren mat ongëlteg (ofgelaf) Certificaten ze verbannen:

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Ënnerdréckt d'Output vun der PowerCLI Message iwwer d'Umeldung vum Erfarungsaustauschprogramm, soss gëtt et vill onnéideg Informatioun am Logbuch:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • Späichert d'Benotzer Umeldungsinformatiounen fir Iech an de VMWare Host ze protokolléieren fir se net explizit am Skript ze weisen:

New-VICredentialStoreItem -Host address -User user -Password 'password'

Iwwerpréift weist wien mir gerett hunn:

Get-VICredentialStoreItem

Dir kënnt och d'Verbindung kontrolléieren: Connect-VIServer Adress.

De Skript selwer, zum Beispill: verbonnen, ausgeschalt, ofgeschalt just am Fall, sinn déi folgend Optiounen méiglech:


    Connect-VIserver -Server $vmhost 
    Stop-VMHost $vmhost -force -Confirm:$false 
    Disconnect-VIserver $vmhost -Confirm:$false

4. Default.cmd

Déi selwecht Batchdatei déi vum APC Agent lancéiert gëtt. Et ass an "C: Programm Dateien[(x86)]APCPowerChute Business Editionagentcmdfiles", a bannen:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" -Datei "C:...shutdown_hosts.ps1"
Et schéngt wéi wann alles konfiguréiert a gepréift gouf, mir hunn souguer cmd gestart - et funktionnéiert richteg, et schalt aus.

Mir lafen e Kommandodateitest vun der APC Konsole (et gëtt en Testknäppchen do) - et funktionnéiert net.

Hei ass et, dee schweier Moment wou all d'Aarbechten zu näischt gefouert hunn.

5. Katharsis

Mir kucken op den Task Manager, mir gesinn cmd Blëtz, Powershell Blëtz. Loosst eis méi no kucken - cmd *32 an deementspriechend Powershell *32. Mir verstinn dat Den APC Agent Service ass 32-Bit, dat heescht datt et déi entspriechend Konsole leeft.

Mir starten Powershell x86 als Administrator, an installéieren a konfiguréieren PowerCLI vum Schrëtt 3 erëm.

Gutt, loosst eis d'Powershell Call Line änneren:

"C:Windows<b>SysWOW64</b>WindowsPowerShellv1.0powershell.exe…

6. Happy End!

Source: will.com

Setzt e Commentaire