Bin zufällig über die Lösung gestolpert, ist nur schwierig zu finden da sie in einem Changelog Thread ist. Bin mir nicht sicher ob ich das hier darf/soll aber ich schreibs hier einfach mal rein. Lösung stammt nicht von mir sondern von FFGDH, habe sie aber noch angepasst.
Hier das Original von FFGDH
Die Scripte müsst ihr jeweils in eine Textdatei schreiben und benennt die dann einfach von .txt in .bat um.
Das erste Script wird im Alarmablauf aufgerufen:
echo off
cls
:: LOCK Datei zum verhindern des Downloads wird erzeugt
echo. > C:\Scripts\lock.log
echo Die LOCK Datei wurde erzeugt. Neustart des PCs wird fuer 30 Minuten verhindert
:: Es wird 30 Minuten gewartet
PING 1.1.1.1 -n 1 -w 1800000 >nul
:: LOCK Datei wird gelöscht
del C:\Scripts\lock.log
Alles anzeigen
Zweites Script, welches den eigentlichen reboot macht: (Am besten einfach mit dem Windows Aufgabenplaner ausführen)
echo off
cls
:CHECK
:: Neustart wird initiiert falls keine LOCK Datei vorhanden ist
if NOT exist C:\Scripts\lock.log GOTO SHUTDOWN
:: Neustart wird verhindert, wenn Log File vorhanden ist
:: Test wird alle 60 Sekunden wiederholt
echo LOCK Datei existiert. Es wird 60 Sekunden gewartet
PING 1.1.1.1 -n 1 -w 60000 >nul
GOTO CHECK
:SHUTDOWN
echo LOCK File existiert nicht, PC wird heruntergefahren
shutdown -r -f
Alles anzeigen
Ich habe das ein wenig anders gelöst:
Script im Alarmablauf welches die Lockdatei erzeugt:
echo off
cls
:: LOCK Datei zum verhindern des Downloads wird erzeugt
echo. > C:\Scripts\lock.log
echo Die LOCK Datei wurde erzeugt. Neustart des PCs wird fuer 30 Minuten verhindert
In die nacheinsatz.bat folgende Zeile vor EXIT einfügen, damit ist eine Anpassung an den Alarmablauf nicht nötig. Neustart erfolgt beim wieder umschalten auf Standbybetrieb:
Und in der Aufgabenplanung folgenes Batch ausführen, die Nutzung von timeout statt ping beugt Problemen mit dem Netzwerk und der Erreichbarkeit von einem Server vor und macht das alles lokal:
echo off
cls
:CHECK
:: Neustart wird initiiert falls keine LOCK Datei vorhanden ist
if NOT exist C:\Scripts\lock.log GOTO SHUTDOWN
:: Neustart wird verhindert, wenn Log File vorhanden ist
:: Test wird alle 60 Sekunden wiederholt
echo LOCK Datei existiert. Es wird 60 Sekunden gewartet
timeout /T 60
GOTO CHECK
:SHUTDOWN
echo LOCK File existiert nicht, PC wird heruntergefahren
shutdown -r -f -t 0
Alles anzeigen
sg
Manuel