Esto aparece en lo alto de la búsqueda de Google "Instalar y reiniciar, no instalar y apagar". Por lo tanto, pensé que debería agregar una solución que terminé escribiendo para este problema exacto molesto (la gente me dice que Win10 tiene esto por defecto, pero no estoy en Win10).
Esto funciona utilizando dos archivos por lotes. El primero se llama "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)
El segundo se llama "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
Se asume que ambos archivos están en C: \ tmp \ Scripts \ Cuando Windows te pide "Instalar actualizaciones", deja que comience a instalar las actualizaciones. Mientras instala las actualizaciones, ejecute "scheduleRebootAfterUpdates.bat".
Antecedentes de la operación:
Si las actualizaciones requieren un reinicio, algunas claves de registro (bajo la clave de registro de WindowsUpdate) se establecen con el valor 0x1.
Verificamos si estas claves existen en el primer archivo bat. Si lo hacen, reinicie de inmediato.
Normalmente, desencadeno actualizaciones cuando estoy a punto de salir del trabajo (y aproximadamente 4-5 horas antes de la medianoche).
El segundo murciélago crea una tarea programada (o actualiza una tarea existente para que se ejecute 5 minutos antes de la medianoche) y esta tarea programada ejecuta el primer murciélago.
Entonces ... aunque no es la solución más elegante, en dos pasos (1. active 'Instalar actualizaciones' y 2. ejecute el segundo archivo bat), su máquina se reiniciará cerca de la medianoche suponiendo que la instalación de las actualizaciones se realizó correctamente.
Además, puede configurar la 'Máquina Wake para ejecutar la tarea' desde la GUI del Programador de tareas, así como verificar el código de retorno de ejecución para ver qué sucedió la última vez.
PS Probado en Win7 de 64 bits.