en-US windows computer

Set default download behavior for BITS jobs on costed networks

Verified with Windows 11 25H2 — updated on July 30, 2026

Windows 11 25H2

Supported on: Windows 8 or Windows Server 2012 or Windows RT or computers with BITS 5 installed.

Path in the GPO console

Computer Configuration\Administrative Templates\Network\Background Intelligent Transfer Service (BITS)

Description

This policy setting defines the default behavior that the Background Intelligent Transfer Service (BITS) uses for background transfers when the system is connected to a costed network (3G, etc.). Download behavior policies further limit the network usage of background transfers. If you enable this policy setting, you can define a default download policy for each BITS job priority. This setting does not override a download policy explicitly configured by the application that created the BITS job, but does apply to jobs that are created by specifying only a priority. For example, you can specify that background jobs are by default to transfer only when on uncosted network connections, but foreground jobs should proceed only when not roaming. The values that can be assigned are: - Always transfer - Transfer unless roaming - Transfer unless surcharge applies (when not roaming or overcap) - Transfer unless nearing limit (when not roaming or nearing cap) - Transfer only if unconstrained - Custom--allows you to specify a bitmask, in which the bits describe cost states allowed or disallowed for this priority: (bits described here) 0x1 - The cost is unknown or the connection is unlimited and is considered to be unrestricted of usage charges and capacity constraints. 0x2 - The usage of this connection is unrestricted up to a certain data limit 0x4 - The usage of this connection is unrestricted up to a certain data limit and plan usage is less than 80 percent of the limit. 0x8 - Usage of this connection is unrestricted up to a certain data limit and plan usage is between 80 percent and 100 percent of the limit. 0x10 - Usage of this connection is unrestricted up to a certain data limit, which has been exceeded. Surcharge applied or unknown. 0x20 - Usage of this connection is unrestricted up to a certain data limit, which has been exceeded. No surcharge applies, but speeds are likely reduced. 0x40 - The connection is costed on a per-byte basis. 0x80 - The connection is roaming. 0x80000000 - Ignore congestion.

Registry

HKLM Software\Policies\Microsoft\Windows\BITS\TransferPolicy

More options available

Options

Foreground
ForegroundTransferPolicy enum
  • Always transfer -> 2147483903 (default)
  • Transfer unless roaming -> 2147483775
  • Transfer unless surcharge applies (when not roaming or overcap) -> 2147483759
  • Transfer unless nearing limit (when not roaming or nearing cap) -> 2147483751
  • Transfer only if unconstrained -> 2147483681
  • Custom -> 255
Foreground (Custom)
ForegroundTransferPolicyCustom decimal - range 0-2147483647 - default: 255
High
HighTransferPolicy enum
  • Always transfer -> 255 (default)
  • Transfer unless roaming -> 127
  • Transfer unless surcharge applies (when not roaming or overcap) -> 111
  • Transfer unless nearing limit (when not roaming or nearing cap) -> 103
  • Transfer only if unconstrained -> 33
  • Custom -> 255
High (Custom)
HighTransferPolicyCustom decimal - range 0-2147483647 - default: 255
Normal
NormalTransferPolicy enum
  • Always transfer -> 255 (default)
  • Transfer unless roaming -> 127
  • Transfer unless surcharge applies (when not roaming or overcap) -> 111
  • Transfer unless nearing limit (when not roaming or nearing cap) -> 103
  • Transfer only if unconstrained -> 33
  • Custom -> 255
Normal (Custom)
NormalTransferPolicyCustom decimal - range 0-2147483647 - default: 255
Low
LowTransferPolicy enum
  • Always transfer -> 255 (default)
  • Transfer unless roaming -> 127
  • Transfer unless surcharge applies (when not roaming or overcap) -> 111
  • Transfer unless nearing limit (when not roaming or nearing cap) -> 103
  • Transfer only if unconstrained -> 33
  • Custom -> 255
Low (Custom)
LowTransferPolicyCustom decimal - range 0-2147483647 - default: 255

MDM / Intune (CSP)

./Device/Vendor/MSFT/Policy/Config/BITS/CostedNetworkBehaviorBackgroundPriority
Device Since Windows 10, version 1809 [10.0.17763] and later Official mapping (Microsoft Learn)

Multiple CSP matches are possible; the first one was selected.

Microsoft Learn documentation Mapping data: Microsoft Learn (CC BY 4.0)

CSP values
  • 1 (Default) - Always transfer.
  • 2 - Transfer unless roaming.
  • 3 - Transfer unless surcharge applies (when not roaming or over cap).
  • 4 - Transfer unless nearing limit (when not roaming or nearing cap).
  • 5 - Transfer only if unconstrained.

Export Builder

BETA

Configure the state, scope and options, then generate .reg, PowerShell, Intune and SCCM outputs — or add the setting to a multi-setting collection.

These exports write the registry — this is not a managed GPO.

.reg file

Windows Registry Editor Version 5.00

; Exported from gporais.com
; Policy: Set default download behavior for BITS jobs on costed networks
; State: Enabled
; Supported on: Windows 8 or Windows Server 2012 or Windows RT or computers with BITS 5 installed.

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\BITS\TransferPolicy]
"ForegroundTransferPolicy"=dword:800000ff
"ForegroundTransferPolicyCustom"=dword:000000ff
"HighTransferPolicy"=dword:000000ff
"HighTransferPolicyCustom"=dword:000000ff
"NormalTransferPolicy"=dword:000000ff
"NormalTransferPolicyCustom"=dword:000000ff
"LowTransferPolicy"=dword:000000ff
"LowTransferPolicyCustom"=dword:000000ff
More formats (PowerShell, Intune, SCCM)

PowerShell

# Exported from gporais.com
# Policy: Set default download behavior for BITS jobs on costed networks
# State: Enabled
# Supported on: Windows 8 or Windows Server 2012 or Windows RT or computers with BITS 5 installed.

$path = 'HKLM:\Software\Policies\Microsoft\Windows\BITS\TransferPolicy'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ForegroundTransferPolicy' -Value 2147483903 -Type DWord
Set-ItemProperty -Path $path -Name 'ForegroundTransferPolicyCustom' -Value 255 -Type DWord
Set-ItemProperty -Path $path -Name 'HighTransferPolicy' -Value 255 -Type DWord
Set-ItemProperty -Path $path -Name 'HighTransferPolicyCustom' -Value 255 -Type DWord
Set-ItemProperty -Path $path -Name 'NormalTransferPolicy' -Value 255 -Type DWord
Set-ItemProperty -Path $path -Name 'NormalTransferPolicyCustom' -Value 255 -Type DWord
Set-ItemProperty -Path $path -Name 'LowTransferPolicy' -Value 255 -Type DWord
Set-ItemProperty -Path $path -Name 'LowTransferPolicyCustom' -Value 255 -Type DWord

Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.

Open the Builder

Embed this policy on your site

What to embed
Theme

Adds one script line: the theme follows your site’s appearance and the height fits the content. If your site blocks scripts, the embed follows the visitor’s system theme.

Preview