Neustart erzwingen mit Timeout in der Registry hinterlegen möglich?

SimonK91

Lieutenant
Registriert
März 2012
Beiträge
893
Hallo Forum,

ich stehe vor dem Problem dass ich eine Installation silent automatisiert habe, die nachts durchläuft und teilweise von selbst einen Neustart initiiert, um sich abzuschließen. Leider kommt es dadurch häufig vor, das Beispiel.exe nicht reagiert, bzw. den Neustart verhindert (jeder kennt dieses Fenster bei dem man dann meist auf Neustart erzwingen klickt).

Mein Ziel wäre es, dies mit einer Registry anpassung zu umgehen, dass es erzwungen wird, aber am besten mit einem Timeout.
Nun habe ich folgenden Link gefunden:
https://www.dirks-computerecke.de/windows-7/windows-7-herunterfahren-erzwingen.htm

Meine Fragen dazu lauten, ob sich dieses Beispiel an Windows 7 auch auf 2008 R2 und 2012 R2 anwenden ließe, (weiß das jemand?) und ob es möglich ist, da irgendwie noch einen Timeout von z.B. 60 Sekunden einzubauen, bis der Neustart tatsächlich erzwungen wird.

Danke!
 
Mach doch eine Batch mit Shutdown /r /t 60
Dann hat das System 60 Sekunden Zeit.
Diese in die Aufgabenplanung.
Dann 58Sek. später ein shutdown /a um es abzubrechen, wenn es nicht geklappt hat
gefolgt von einem shutdown /f /r /t 0
Dann kommt der 2. Versuch der erzwungen ist und sofort neustartet.

lg
fire
 
Danke für die schnelle Rückmeldung. Mein Problem ist ja dass dieser Neustart vom Programm selbst initiiert wird, da nützt mir leider eine Batchfile nicht viel.
 
Hat das Programm immer eine gleichbleibende Laufzeit? Dann könnte man unabhängig von dem PRogramm ein Neustart erzwingen.
Ich weiss nur nicht, ob es für das PRogramm ein Problem ist.
 
Leider nicht, das Programm führt Paketupdates aus und dies ist je nach System unterschiedlich, wann und ob überhaupt ein Neustart erzwungen wird. Das ganze wird silent nachts über ein AutoIT Script abgehandelt, leider haut das Programm den Restart von sich aus dann rein, je nachdem ob ein bestimmtes Updatepaket dies erfordert. Und diese Eventualität lässt sich mit AutoIT auch nicht anhand eines bestimmten Fenstertitels oder ähnlichem abgreifen, sonst wäre es ja zu einfach und ich könnte einfach ein Killtask zur exe schicken die in dem folgenden Moment dann den Neustart verhindert. :rolleyes:

Daher mein Lösungsansatz das eventuell über die Registry zu lösen dass es nach X Sekunden erzwungen wird, so als würde der Benutzer davor sitzen und auf "Neustart erzwingen" klicken.
 
Du löst also das Update via dem AutoIT Script aus?
Falls ja kannst Du doch einfach den Aufruf von AutoIT in eine Batch verlagern und nach dem Lauf von AutoIT in der Batch noch Aktionen auslösen.
 
Ich habe es mittlerweile so hinbekommen dass das AutoIT Script wenn es durch den angestoßenden Reboot geschlossen wird kurz zuvor noch ein Run shutdown /f /r /t 0 raushaut.

Meine Frage wäre jetzt, ob die Batch auch abgearbeitet wird, wenn ich diese mit einem Timeout von z.B. 30 Sekunden versehe, um Windows wenigstens die Chance zu geben die Prozesse sauber zu beenden?

Dann würde ich eher ein shutdown /f /r /t 30 verwenden, und falls Windows bei dem Fenster "Programme müssen noch geschlossen werden, exe bla bla reagiert nicht" hängen bleibt, läuft im Hintergrund der Timeout der Batch herunter und der reboot wird erzwungen? Oder wird eine Batch, die im Timeout hängt, im Zuge des Windows Herunterfahrens gekillt?
 
Zuletzt bearbeitet:
mache doch erst einen SHUTDOWN /a, dann hast Du alle Zeit der Welt :-)
 
Zurück
Oben