Disabling Windows Updates in Windows 10 Natively
**** No third party software required for this method ****
For more control ensuring that Windows Update operations only apply to your Windows 10 OS when you want them to, see the below steps using two scripts and one scheduled task job.
This method will work regardless of any scheduled tasks or other processes that kick off Windows Update if it’s setup correctly and the job is enabled and running at short enough intervals.
Essentially this will
- Check once a minute to see if the Windows Update service is running and take one of the two below actions whether TRUE or FALSE. . .
- if it is running, then the service is forcefully stopped with NET STOP ensuring that no Windows Updates are applied
- if it is not running, then the process ends until executed on the next scheduled trigger with Task Scheduler
You will need to do three things to ensure this works as expected
- create the simple Batch Script that’ll check if Windows Update is running and kill it if it is
- this is just a text document renamed with a .cmd file extension
- create the simple VB Script that’ll execute the batch script but in a hidden manner so there’s not a pop up every time it runs
- this is just a text document renamed with a .vbs file extension
- create the scheduled task to run once a minute indefinitely with Windows Task Scheduler
Setup and Configuration
Below are the detailed steps to follow for setting up these three simple things.
1. Batch Script
NOTE: Save the below logic to a text file and rename to have an extension of .cmd e.g . DisableWU.cmd.
@ECHO OFF TASKLIST /SVC | FINDSTR /I /C:”wuauserv” IF %ERRORLEVEL%==0 GOTO :StopWUService GOTO :EOF :StopWUService FOR %%A IN (wuauserv) DO NET STOP /Y “%%~A” GOTO :EOF
2. VBS Script
NOTE: Save the below logic to a text file and rename to have an extension of .vbs e.g . DisableWUHidden.vbs. Also be sure that you put the correct full path and file name value where the batch file is saved in place of the C:FolderPathDisableWU.cmd value in the below logic accordingly.
Set WinScriptHost = CreateObject(“WScript.Shell”) WinScriptHost.Run Chr(34) & “C:FolderPathDisableWU.cmd” & Chr(34), 0 Set WinScriptHost = Nothing
3. Task Scheduler Job
From the General tab be sure the Run whether user is logged on or not and Run with highest privileges options are checked so both are enabled and effective.
From the Triggers tab be sure the Daily option is set with Recur every: 1 days and check the Repeat task every 1 minute for a duration of 1 day is set and specified and that the Enabled option is checked.
From the Actions tab be sure Programscript: points to the full explicit path of the VB Script, and be sure the Start in (optional): points to the folder path only where that same VB Script resides.
To finalize and save, press OK (maybe twice), and then type in the username and password credential information from an account that (1. has permissions to run Task Scheduler tasks, and (2. has execute and read access to the location where you saved the scripts it’ll execute.
Confirming it Works
For a quick test to confirm this works as expected you can:
- Press + R, type in services.msc and press Enter
- Scroll down to Windows Update, right click on it and select Start until you see the status go to Running
- Now just press F5 every so many seconds to refresh the screen to see if the service status changes
- Eventually you should see the status change to a Blank/Null/Empty/Nothing indicating the service is not running. If you refresh in the middle of a stop operation, you may notice a status value of Stopping for the service
This means whether you start Windows Update, a scheduled task starts it, or whatever other process(es) start it, it will be killed every 60 seconds if it is running when this job is enabled and running. This helps ensure Windows Update operations never have sufficient time to ever complete a download or install of any update.
Note: The scheduled interval can easily be adjusted to run more frequently than 60 seconds if that’s not quick enough in some instances.
You should apply Windows Updates periodically though at your regular scheduled maintenance intervals to ensure your system is up to date with the latest security patches and so forth. This is not a method intended to totally never apply Windows Updates as these are critical and necessary in many environments so this is intended to just give you better control to choose when you want to apply these updates in your environment.
To disable this process to allow you to manually install Windows Updates when you’re ready, you will simply go to the job you scheduled with Task Scheduler, right-click it, and select the Disable option to disable the job and thus preventing the killing of the Windows Updates service.
Once disabled, just run through the motions of applying Windows Updates manually to patch the OS. Once the updates are applied and your power cycles are complete if applicable, simplly Enable the job for it to start running again.