Shutdown.exe austauschen, Batch-Datei ausführen

Hi,

folgenden Code habe ich zuerst in einer shutdown.BAT gespeichert, diese dann zur shutdown.EXE kompilert und mit dieser neuen EXE dann die originale shutdown.EXE ersetzt. Zuvor habe ich die originale shutdown.exe in shutdownorig.exe umbenannt:
**********ANFANG

Startet die Batch-Datei zum Herunterfahren der Virtuellen Maschinen

call „E:\Dateien System\Skripte\VMsbeenden.bat“

Fährt anschließend den Rechner herunter

c:\windows\system32\shutdownorig.exe -p
**********ENDE

Die aufgerufene VMsbeenden.bat Datei hat einen Timeoutbefehl von (zu Testzwecken) 240 Sekunden.

Mein Ziel war bzw. ist es, dass wenn ich in der Startleiste --> „Herunterfahren“ wähle (also der ganz reguläre Weg einen WIndows Rechner herunterzufahren), der Rechner zuerst meine Virtuellen Maschinen beendet (mit dem Aufruf VMsbeenden.bat) und danach mit shutdownorig.exe den Rechner runterfährt.

Wenn ich allerdings diesen eben beschriebenen Prozess durchführe, dauert es leider keine 30 Sekunden bis der Rechner unten ist. Es müsste aber mal zumindest 4 Minuten (240 Sekunden) dauern bis er unten ist. Die Batch Datei VMsbeenden.bat wird also gar nicht mehr ausgeführt.

Woran liegt das?

Danke und bin gespannt
Simon

Hallo,

Die aufgerufene VMsbeenden.bat Datei hat einen Timeoutbefehl
von (zu Testzwecken) 240 Sekunden.

Mein Ziel war bzw. ist es, dass wenn ich in der Startleiste
–> „Herunterfahren“ wähle (also der ganz reguläre Weg einen
WIndows Rechner herunterzufahren), der Rechner zuerst meine
Virtuellen Maschinen beendet (mit dem Aufruf VMsbeenden.bat)
und danach mit shutdownorig.exe den Rechner runterfährt.

ich kann den von Dir eingeschlagenen Weg nicht ganz nachvollziehen. Warum fährst Du nicht die virtuelle Maschine mit Deinem Script herunter und führst direkt danach ein Shutdown mit einer entsprechenden Verzögerung aus?

Shutdown -s -f -t 240

Gruß

S.J.

Hi,

ich möchte, dass dies alles automatisch mit dem Betätigen des offiziellen Befehls in der Startleiste oder in der Media Center Oberfläche „Herunterfahren“ geschieht.

Der Rechner ist mein HTPC (Mail-/File-/FTP-/HTTP-Server). Aus div. Gründen laufen die eigentlichen Server (Mail/FTP/HTTP) auf den virtuellen Maschinen. Der gesamte Rechner ist 24/7 unter Strom. Ab und an kommt es vor, dass man ihn aber mal neu starten muss und manchmal auch meine Frau über die Media Center Oberfläche. Die Fernbedienung ist der einzige Weg Eingaben in den HTPC zu machen (ok über Remote natürlich auch, aber das führt bei min Fru zu weit). Da ich meiner Frau aber nicht zumuten möchte, dass Sie sich erst an dem Computer im Arbeitszimmer setzen muss und dieses und jenes Skript ausführen soll, bevor sie dann am HTPC mit der Fernbedienung auf herunterfahren „klicken“ darf (Nutzerakzeptanz(!)), probiere ich eben einen Weg zu finden, bei dem mit dem offiziellen Herunterfahren das Skript bei dem die VMs zuerst beendet werden und danach automatisch das Herunterfahren vollzogen wird, ausgeführt wird.

Meine Frau merkt die Veränderung eigentlich nur daran, dass der Herunterfahren-Prozess ein wenig länger dauert. Aber das krieg ich ihr noch beigebracht :wink:

Ich hoffe, meine Intension ist nun ein wenig klarer?

Das einzelne Skript für die VMs steht, die manuell ausführbare bat zum Herunterfahren inkl. vorherigem Afrufen des VM-Skriptes funktioniert auch, nur die EXE wird nicht beim offiziellen Herunterfahren aufgerufen.

Simon

Hi,

das Deine VMsbeenden.bat Batch nicht ausgeführt wird, ist sicherlich das kleinste Problem.

Mit Sicherheit wird die Shutdown.exe gar nicht ausgeführt, wenn Du den PC über das Startmenü runterfährst. Die Shutdown.exe ist m.E. nur eine Funktion die es ermöglicht, das Shutdown-Verhalten über die Console zu beinflüssen/steuern. Letztlich wird die Shutdown.exe sicherlich auch nur eine eine Windows API aufrufen um das System runter zu fahren (inkl. der möglichen Optionen).

Genau diese API ruft sicherlich auch das Startmenü aus.

Teste das Ganze doch mal, in dem Du Deine modifizierte Shutdown.exe ausführst. Dann siehst Du ja, ob Deine VMsbeenden.bat ausgeführt wird. Wenn ja, ist es sicherlich am einfachsten, Deinen PC über eine Verknüpfung runterzufahren.

Gruß
Chris

Hi
und danke an alle, die sich in diesem Thread beteiligt haben. Ich schließe mich der Meinung / WIssen an, dass die shutdown.exe zwar den Rechner runterfährt, nicht aber hauptverantwortlich für das Runterfahern per Startmenü ist. Daher bringt eine Veränderung dieser Datei nichts in meinem Sinne und ich stelle diese Bemühungen damit ein.
Nochmals Dank an alle.

MfG
Simon