Dies wird in der Google-Suche "Installieren und Neustarten, nicht Installieren und Herunterfahren" ganz oben angezeigt. Daher dachte ich, ich sollte eine Lösung hinzufügen, die ich letztendlich für dieses ärgerliche Problem geschrieben habe (die Leute sagen mir, dass Win10 dies standardmäßig hat, aber ich bin nicht auf Win10).
Dies funktioniert mit zwei Batch-Dateien. Die erste heißt "rebootAfterUpdates.bat"
@echo OFF
@setlocal ENABLEEXTENSIONS
@set REBOOT_KEY="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired"
@SET REGDWORD=REG_DWORD
@SET VALUEVAL=0x1
@REM skip=4 may be required on some versions of Windows
@FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`reg query %REBOOT_KEY% /s 2^>nul`) DO (
@IF %%B EQU %REGDWORD% (
@IF %%C EQU %VALUEVAL% (
call :REBOOT
)
)
)
:NOREBOOT
@Echo No reboot required
exit /b 36877
REM 36877 is 0x900D (i.e. Good, no reboot required)
:REBOOT
@ECHO Here We REBOOT
SHUTDOWN -r -f -t 10
exit /b 3059719
REM 3059719 is 0x2EB007 (i.e. REBOOT was triggered)
Die zweite heißt "scheduleRebootAfterUpdates.bat":
@schtasks /query /TN RebootAfterUpdates > doh
@findstr /B /I "RebootAfterUpdates" doh >nul
@if %errorlevel%==0 goto :update
@goto :create
:update
@del doh
@SCHTASKS /Change /TN RebootAfterUpdates /SD %DATE%
@echo Task updated to execute today
@goto :exitBat
:create
@del doh
@SCHTASKS /Create /SC ONCE /TN RebootAfterUpdates /TR "C:\tmp\Scripts\rebootAfterUpdates.bat" /ST 23:55 /sd %DATE% /ru SYSTEM /f
@echo Task created. Set the "Wake to Execute Flag" through Task Scheduler GUI
:exitBat
@exit /b
Es wird davon ausgegangen, dass sich beide Dateien in C: \ tmp \ Scripts \ befinden. Wenn Windows Sie zum Installieren von Updates auffordert, lassen Sie die Installation von Updates starten. Führen Sie während der Installation von Updates "scheduleRebootAfterUpdates.bat" aus.
Hintergrund der Tätigkeit:
Wenn die Updates einen Neustart erfordern, werden einige Registrierungsschlüssel (unter dem WindowsUpdate-Registrierungsschlüssel) mit dem Wert 0x1 festgelegt.
Wir prüfen, ob diese Schlüssel in der ersten bat-Datei vorhanden sind. Starten Sie in diesem Fall sofort neu.
Normalerweise starte ich Updates, wenn ich die Arbeit verlasse (und ungefähr 4-5 Stunden vor Mitternacht).
Die zweite Fledermaus erstellt eine geplante Aufgabe (oder aktualisiert eine vorhandene Aufgabe so, dass sie 5 Minuten vor Mitternacht ausgeführt wird), und diese geplante Aufgabe führt die erste Fledermaus aus.
Obwohl dies nicht die eleganteste Lösung ist, wird Ihr Computer in zwei Schritten (1. Auslösen von 'Updates installieren' und 2. Ausführen der zweiten Fledermausdatei) gegen Mitternacht neu gestartet, sofern die Installation der Updates erfolgreich war.
Darüber hinaus können Sie in der Taskplaner-Benutzeroberfläche die Option "Maschine zur Ausführung von Tasks aufwecken" festlegen und den Ausführungsrückgabecode überprüfen, um festzustellen, was das letzte Mal passiert ist.
PS Getestet auf Win7 64bit.