Background Intelligent Transfer Service

Purpose

Background Intelligent Transfer Service (BITS) is used by programmers and system administrators to download files from or upload files to HTTP web servers and SMB file shares. BITS will take the cost of the transfer into consideration, as well as the network usage so that the user's foreground work has as little impact as possible. BITS also handles network interuptions, pausing and automatically resuming transfers, even after a reboot. BITS includes PowerShell cmdlets for creating and managing transfers as well as the BitsAdmin command-line utility.

Note

BITS can be used by Windows to download updates to your local system. If you are an end-user searching for ways to troubleshoot your BITS installation, see the knowledge base (KB) article link at the bottom of this page.

Where applicable

Use BITS for applications that need to:

  • Download from or upload files to an HTTP or REST web server or SMB file server.
  • Automatically resume file transfers after network disconnects and computer restarts.
  • Preserve the responsiveness of other network applications.
  • Be mindful of the network cost on e.g. roaming networks
  • Optionally work with BranchCache to optimize wide area network (WAN) traffic

Developer audience

BITS is a COM interface designed for C and C++ developers that can also be used by .NET developers. UWP developers should use the Windows.Networking.BackgroundTransfer API and not the BITS API.

BITS versions

For complete version history and information on earlier operating system, see What's New.

In this section

Topic Description
About BITS
General information about BITS.
Using BITS
Procedural guide for developing BITS clients that transfer files between a client and server.
BITS Reference
Reference information for the BITS programming interfaces. Also contains information about samples, tools, server settings for upload jobs, and the upload protocol.
Best Practices
Information to consider when designing an application that uses BITS.

Additional resources

The following are additional resources.

KB articles For a list of Knowledge Base (KB) articles for BITS, see KB331716.
BITS Blog For feature updates, samples, and BITS news, see the Windows Management Infrastructure Blog.
.NET Bits For a set of .NET wrappers for the BITS API, see SharpBITS.NET, at CodePlex.