Windows hat den Befehl shutdown /t
, den Computer nach einer bestimmten Verzögerung herunterzufahren oder neu zu starten. Ein anstehendes Herunterfahren kann mit abgebrochen werden shutdown /a
.
Aber wie kann ich feststellen, ob und wann ein Herunterfahren derzeit ansteht oder geplant ist, ohne es abzubrechen?
-d
Option? Herunterfahren . Vielleicht finden Sie den Shutdown Event Tracker nützlich ./d
Gibt den Grund für das Herunterfahren an, den ich getan habe. Diese Informationen wurden im Ereignisprotokoll aufgezeichnet. Aber nicht die Auszeit von/t
. Shutdown Event Tracker scheint nicht nützlich zu sein. Das Zeitlimit wird nicht angezeigt und muss im Voraus eingerichtet werden.Antworten:
Wie kann ich feststellen, ob und wann ein Herunterfahren derzeit ansteht oder geplant ist, ohne es abzubrechen?
Ich glaube nicht, dass es möglich ist zu bestimmen, wann das Herunterfahren stattfinden wird.
Mit dem folgenden Algorithmus können Sie feststellen, ob ein Herunterfahren geplant ist:
Führen Sie ein "Test" -Downdown
shutdown /t xxx
mit einem großen Wert für die Zeit aus .Wenn bereits ein Herunterfahren ansteht
shutdown /t xxx
, schlägt dies mit der Fehlerstufe fehl1190
:Wenn Sie den obigen Fehler nicht erhalten, wissen Sie, dass kein vorheriges Herunterfahren geplant war. Daher müssen Sie das Herunterfahren "Test" mit löschen
shutdown /a
.Das Obige kann in einer Batch-Datei erfolgen:
Hinweis:
Weiterführende Literatur
quelle
Eine etwas kompliziertere Methode, um herauszufinden, ob ein Herunterfahren geplant ist oder nicht, besteht darin , den Status des Flags zu debuggen
winlogon.exe
und zu überprüfenShutdownInProgress
. Sie benötigen Debugging-Tools für Windows .Ich habe es nicht ausprobiert, aber dieser MSDN-Blogbeitrag erklärt, was hinter den Kulissen passiert, wenn Windows heruntergefahren wird und wie das Debuggen erfolgt
winlogon.exe
(was ein Kernelprozess ist). Der Debugger-Befehl zum Abrufen des Flag-Status scheint zu lauten:Wenn Sie wissen, wie man Kernelprozesse in Windows debuggt, können Sie es ausprobieren. Diese Anleitung für Anfänger zum Debuggen mit CDB und NTSD könnte hilfreich sein.
quelle
shutdown /t 99999
, oder?