Ini muncul tinggi pada pencarian Google "Instal dan Restart tidak Instal dan Shutdown". Oleh karena itu, saya pikir saya harus menambahkan solusi yang akhirnya saya tulis untuk masalah yang sangat menjengkelkan ini (orang mengatakan kepada saya bahwa Win10 memiliki ini secara default, tetapi saya tidak pada Win10).
Ini berfungsi menggunakan dua file batch. Yang pertama disebut "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)
Yang kedua disebut "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
Kedua file diasumsikan berada di C: \ tmp \ Scripts \ Ketika Windows meminta Anda untuk "Instal Pembaruan", biarkan mulai menginstal pembaruan. Saat menginstal pembaruan, jalankan "scheduleRebootAfterUpdates.bat".
Latar belakang operasi:
Jika pembaruan memerlukan reboot, beberapa kunci registri (di bawah kunci reg WindowsUpdate) ditetapkan dengan nilai 0x1.
Kami memeriksa apakah kunci-kunci ini ada di file bat pertama. Jika ya, reboot segera.
Biasanya, saya memicu pembaruan saat akan berangkat kerja (dan sekitar 4-5 jam sebelum tengah malam).
Kelelawar kedua membuat tugas terjadwal (atau memperbarui tugas yang ada untuk menjalankan 5 menit sebelum tengah malam) dan tugas terjadwal ini mengeksekusi kelelawar pertama.
Jadi ... walaupun bukan solusi yang paling elegan, dalam dua langkah (1. memicu 'Instal Pembaruan' dan 2. jalankan file kelelawar kedua), mesin Anda akan melakukan booting ulang hampir tengah malam dengan asumsi bahwa pemasangan pembaruan berhasil.
Selain itu, Anda dapat mengatur 'Mesin bangun untuk menjalankan tugas' dari GUI Penjadwal Tugas serta memeriksa kode pengembalian eksekusi untuk melihat apa yang terjadi terakhir kali.
PS Diuji pada Win7 64bit.