Downloads of Windows 10 updates can not be scheduled but their download bandwidth can be throttled during work hours by configuring the Background Intelligent Transfer Service (BITS).
I have no idea how many times I had been annoyed while playing one of my favorite games and suddenly the Ping spiked. After a quick lookup I saw that the application BITS caused the spike by downloading a lot of data.
Windows Update Services
Windows Update Services (wuauserv.exe) is an application which listens for new updates for your Windows operating system. As soon as a new update has been downloaded to your computer, it checks your local configuration. Depending upon the local configuration, the installation starts immediately or is postponed for a late time.
Interestingly, Windows Update Services is not responsible for downloading Windows updates on its own. Instead, it is relying upon the Background Intelligent Transfer Service (BITS). Windows Update Services submits a job to the BITS queue and gets notified if a download for a new update had happened.
Background Intelligent Transfer Service (BITS)
BITS itself is not a binary but an executable located at %SystemRoot%\system32\qmgr.dl. On Windows startup, it will be automatically started due to the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BITS.
The purpose of BITS is – as the name already says – to download files in the background. BITS is able to monitor the bandwidth so that other applications get more bandwidth than BITS itself. The problem during a gaming session is, that most of the games don’t use much bandwidth. Because of this, BITS uses the whole bandwidth. With lower available bandwidth, games starting to lag and high pings inside the game occur.
Using the Local Group Policy Editor
You have to set each of the following configuration options by using the Group Policy editor.
To do so, press Win+R, enter gpedit.msc and press Enter.
On the left side of the opening window you can navigate through the configuration categories.
Configure Automatic Updates does not do what you want
First of all, there are lot of articles and forum threads on the Internet describing how to schedule the download and installation of Windows Updates. Almost all of the articles references the Group Policy setting Computer Configuration\Administrative Templates\Windows Components\Windows Update \Configure Automatic Updates.
Here is the catch: The scheduling option does only apply for the installation of updates but not for the downloads. Updates will be downloaded as soon as possible.
If you want to have full control about the timing of downloads, you might want to use option 2 (Notify for download and notify for install) of the setting. As the description says, updates will only be downloaded, after you have them approved.
Configure BITS via Group Policy
Luckily for us, BITS can also be configured below the Computer Configuration > Administrative Templates > Network > Background Intelligent Transfer Service (BITS) category.
There are mainly two choices you can made:
1. Limit the maximum download bandwidth on every day
In the right pane select the option Limit the maximum network bandwidth for BITS background transfers. These option allows you to limit the network bandwidth of BITS during a time period on every day.
This policy setting limits the network bandwidth that Background Intelligent Transfer Service (BITS) uses for background transfers. (This policy setting does not affect foreground transfers.)
You can specify a limit to use during a specific time interval and at all other times. For example, limit the use of network bandwidth to 10 Kbps from 8:00 A.M. to 5:00 P.M., and use all available unused bandwidth the rest of the day’s hours.
If you enable this policy setting, BITS will limit its bandwidth usage to the specified values. You can specify the limit in kilobits per second (Kbps). If you specify a value less than 2 kilobits, BITS will continue to use approximately 2 kilobits. To prevent BITS transfers from occurring, specify a limit of 0.
If you disable or do not configure this policy setting, BITS uses all available unused bandwidth.
Note: You should base the limit on the speed of the network link, not the computer’s network interface card (NIC). This policy setting does not affect Peercaching transfers between peer computers (it does affect transfers from the origin server); the “Limit the maximum network bandwidth used for Peercaching” policy setting should be used for that purpose.
Consider using this setting to prevent BITS transfers from competing for network bandwidth when the client computer has a fast network card (10Mbs), but is connected to the network via a slow link (56Kbs).
2. Limit the maximum download bandwidth on specific days
If you need more fine grained bandwidth limits, you can use one or both of the following settings. They allow you to specify also the day of the week when specific bandwidth limits will be applied.
Set up a maintenance schedule to limit the maximum network bandwidth used for BITS background transfers
This policy setting limits the network bandwidth that Background Intelligent Transfer Service (BITS) uses for background transfers during the maintenance days and hours. Maintenance schedules further limit the network bandwidth that is used for background transfers.
If you enable this policy setting, you can define a separate set of network bandwidth limits and set up a schedule for the maintenance period.
You can specify a limit to use for background jobs during a maintenance schedule. For example, if normal priority jobs are currently limited to 256 Kbps on a work schedule, you can further limit the network bandwidth of normal priority jobs to 0 Kbps from 8:00 A.M. to 10:00 A.M. on a maintenance schedule.
If you disable or do not configure this policy setting, the limits defined for work or nonwork schedules will be used.
Note: The bandwidth limits that are set for the maintenance period supersede any limits defined for work and other schedules.
Set up a work schedule to limit the maximum network bandwidth used for BITS background transfers
This policy setting limits the network bandwidth that Background Intelligent Transfer Service (BITS) uses for background transfers during the work and nonwork days and hours. The work schedule is defined using a weekly calendar, which consists of days of the week and hours of the day. All hours and days that are not defined in a work schedule are considered non-work hours.
If you enable this policy setting, you can set up a schedule for limiting network bandwidth during both work and nonwork hours. After the work schedule is defined, you can set the bandwidth usage limits for each of the three BITS background priority levels: high, normal, and low.
You can specify a limit to use for background jobs during a work schedule. For example, you can limit the network bandwidth of low priority jobs to 128 Kbps from 8:00 A.M. to 5:00 P.M. on Monday through Friday, and then set the limit to 512 Kbps for nonwork hours.
If you disable or do not configure this policy setting, BITS uses all available unused bandwidth for background job transfers.
Wrapping things up
With the described Group Policy settings you are not able to schedule the download of Windows updates but you can control how much of the bandwidth is used during specific time periods.