ginossa
Goto Top

VMBox - beim Start einer VM auf dem Win7-Host den Energiesparmodus ändern

Hallo,

gibt es eine einfach Lösung, wie ich mit dem Start einer VM (arbeite mit VirtualBox 5.1.26 auf einem Win7Pro64-Host) den Energiesparmodus ändern kann ?
  • aktuell ändere ich den vorher immer per Hand in einen Plan, bei dem der Host nicht in den Enegiesparmodus verfällt (lediglich Bildschirm ausschalten ist zulässig)

Ich würde dies aber gerne automatisch mit dem Start der ersten VM ausführen.
  • ja, mit einer Batch, die dann die VM startet wäre das möglich, wird aber IMO bereits komplizierter wenn mehrere VMs gleichzeitig laufen sollen und ggf. zu unterschiedlichen Zeiten beendet werden.
  • müsste dann evtl. den "VirtualBox Manager-Prozess" abfragen, und erst wenn der nicht mehr läuft den Enegiesparmodus wieder zurück setzen, damit der Host in den S3/S4 verfallen kann.

Gibt es dafür eine einfachere Möglichkeit, oder Konfiguration welche ich noch nicht gesehen / gefunden habe, um o.g. zu erreichen ?

... würde mich über Eure Hilfe / Unterstützung freuen face-smile

Content-Key: 346193

Url: https://administrator.de/contentid/346193

Printed on: April 24, 2024 at 09:04 o'clock

Member: Penny.Cilin
Penny.Cilin Aug 12, 2017 at 14:43:38 (UTC)
Goto Top
Hallo,

erstelle Dir eine Batchdatei, wo Du zuerst den Energiemodus änderst und dann VirtualBox mit der VM startest.
Powercfg /?
ist Dein Freund.
Wie Du eine VM via Batch startest mußt Du Dir selbst erarbeiten.

P.S. das gilt auch, wenn mehrere VMs aktiv sind.
1. Erst Energieplan ändern
2. VM(s) starten


Gruss Penny
Member: Ginossa
Ginossa Aug 12, 2017 updated at 15:18:25 (UTC)
Goto Top
Danke für die schnelle AW und den "Freund" face-smile
... heißt einen "Schalter in VMB, welchen ich übersehen hätte gibt es nicht.

hast Du noch einen Tipp wie ich das Laufen einer "VirtualBox Manager-Instanz" (also der "VirtualBox.exe" bzw. "VBoxSVC.exe" in der Batch abfragen kann ?
  • denn erst wenn da keine mehr läuft macht es ja Sinn den Energieplan wieder zurück zu setzen.

oder ließe sich das auch über einen ständig laufenden Scheduler-Job (also Task- bzw. Aufgabenplane) erledigen ?!
  • z. Bsp. Trigger "bei Ereignis" auf "VirtualBox.exe" bzw. "VBoxSVC.exe"

... bin nur leider etwas überfragt / überfordert bei der Vielzahl unter Protokoll und Quelle face-sad

wäre für eine weiteren Tipp noch dankbar face-smile

Gruß Peter
Member: BassFishFox
BassFishFox Aug 12, 2017 updated at 15:41:35 (UTC)
Goto Top
Hallo,

das Laufen einer "VirtualBox Manager-Instanz" (also der "VirtualBox.exe" bzw. "VBoxSVC.exe"

tasklist /?

BFF
Member: Pjordorf
Pjordorf Aug 12, 2017 at 15:58:25 (UTC)
Goto Top
Hallo,

Zitat von @Ginossa:
hast Du noch einen Tipp wie ich das Laufen einer "VirtualBox Manager-Instanz" (also der "VirtualBox.exe" bzw. "VBoxSVC.exe" in der Batch abfragen kann ?
VBOxManage ist dein Freund. Ein "C:\Program Files\Oracle\VirtualBox>vboxmanage list runningvms" lstet dir die laufenden VMs und ein "C:\Program Files\Oracle\VirtualBox>vboxmanage list vms" listet dir die vorhanden VMs. Ein "VBoxManage" listet dir dessen Optionen.

Gruß,
Peter
Member: Ginossa
Ginossa Aug 12, 2017 updated at 17:43:16 (UTC)
Goto Top
Danke Peter für den Tipp
- hätte ich ja auch drauf kommen können face-sad
- man denkt halt mach mal zu kompliziert ...

hänge gerade aber schon am nächste Schritt.
- bin anscheinend viel zu lange raus aus der CMD face-sad

mit
TASKLIST /SVC /FI "IMAGENAME eq VBoxSVC.exe" | find "VBoxSVC.exe" /C  
bekomme ich wunderbar raus, ob VBox läuft oder nicht
- Ergebnis ist "1" bzw. "0"

jetzt hapert es bei mir mit der "IF-Abfrage" face-sad

wie vergleiche ich das Ergebnis von oben (also == "0") mit dem "IF-Befehl" ?! face-sad
if TASKLIST /SVC /FI "IMAGENAME eq VBoxSVC.exe" | find "VBoxSVC.exe" /C == "1" echo "VMB läuft noch"  
bringt eine FM

sorry für die Anfängerfragen face-sad
v.G // Peter
Member: Pjordorf
Pjordorf Aug 12, 2017 at 19:20:38 (UTC)
Goto Top
Hallo,

Zitat von @Ginossa:
hänge gerade aber schon am nächste Schritt.
VBoxSvc.exe läuft auch dann wenn keine VM selbst am laufen ist und du nur VirtualBox gestartet hast. Keine einduetige aussage ob eine VM tatsächlich läuft oder nicht. Ein "VBoxManage list runningvms -l" gibt dir zurück ob eine VM, egal welche, läuft oder nicht. Keine Rückmeldung = keine VM am laufen, ansonsten werden dir gar die Namen der VMs und vieles mehr genannt. Mehr braucht es nicht, z.B.
VoxManage list runningvms -l | find "Name:"  
Gruß,
Peter
Member: Ginossa
Ginossa Aug 12, 2017 at 20:25:50 (UTC)
Goto Top
ja, schon klar.
... ist aber egal was ich verwende.
  • bei VoxManage bekomme ich halt gezielte Auskunft ob eine, bzw. welche VM läuft,
  • bei VBoxSVC halt auch wenn lediglich VirtualBox in der GUI läuft.

letzteres reicht mir aber, da ich entweder die VM Headless starte und via RDP drauf zugreife, oder wenn ich Sie aus der VirtualBox starte sie dann ggf. auch nur im Hintergrud läuft.

egal wie, der Host soll einfach nicht in den S3/S4 verfallen wenn irgend etwas von VB läuft.
- und da reicht mir der VBoxSVC

Mein Problem ist wie gesagt aktuell "das Einbetten / Verketten" des Ergebnisses "0" bzw "1" in eine IF-Befehlskette.

Ich dachte (und ich hab das irgendwann in der Vergangenheit auch schon irgendwie hin bekommen) ich kann das Ergebnis von
TASKLIST /SVC /FI "IMAGENAME eq VBoxSVC.exe" | find "VBoxSVC.exe" /C  
direkt in einer
IF /I "ERGEBNIS-von-TASKLIST..." EQU "0" BEFEHL  
verwursten !?
... aber da verlassen mich gerade meine alten Dose/Batch-Kenntnisse face-sad face-sad face-sad

würde mich echt noch über einen Tipp freuen // Peter
Member: Ginossa
Ginossa Aug 12, 2017 at 21:19:27 (UTC)
Goto Top
Ich hab's face-smileface-smileface-smile

... man muss nur "FOR /F" verwenden, dann klappt's auch mit der Nachbarin face-smile
FOR /F " usebackq delims==" %i IN (`TASKLIST /SVC^|find "VBoxSVC.exe" /C`) DO IF %i==1 (@echo VB läut noch) else @echo VB angehalten  

anstelle von
IF %i==1 (@echo VB läut noch) else @echo VB angehalten
kommt halt einfach
IF %i==1 (POWERCFG -S <SCHEMA_GUID>)
hinten dran. face-smile
... muss ich morgen mal weiter probieren.

Danke nochmal für die Hilfe
v.G. und gut's Nächtle // Peter
Member: BassFishFox
BassFishFox Aug 12, 2017 at 21:26:12 (UTC)
Goto Top
Gute Nacht. face-smile

Zum weiter spielen. face-wink

SETLOCAL EnableExtensions
set EXE=VBoxSVC.exe
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto FOUND  
echo VBOX nicht gestartet
echo Starte hier powercfg
goto FIN
:FOUND
echo VBOX gestartet
:FIN

BFF
Member: Ginossa
Ginossa Aug 13, 2017 at 12:19:20 (UTC)
Goto Top
Wou ... super, DANKE !!! face-smile