Fact-checked by Grok 2 weeks ago

Background Intelligent Transfer Service

Background Intelligent Transfer Service (BITS) is a component of Windows operating systems, introduced with in 2001, that enables asynchronous file transfers—both downloads and uploads—over HTTP web servers and file shares while minimizing impact on active network usage by leveraging idle . BITS operates as a that prioritizes transfers to run in the background, automatically throttling speeds based on network conditions to preserve responsiveness for foreground applications, and supports resumption of interrupted transfers after network disconnects or system reboots without requiring manual intervention. It was initially released in version 1.0 with , providing basic prioritized and throttled downloads, and has evolved through multiple versions, incorporating features like upload capabilities (version 1.5 in ), concurrent foreground downloads and support (version 2.0 in SP2), custom HTTP headers and (version 2.5 in ), peer caching (version 3.0 in ), BranchCache integration for optimization (version 4.0 in ), and modern enhancements such as support and MDM policies (version 5.0 and later in and beyond). Key to its design, BITS uses a COM-based interface for developers in C/C++ and .NET environments, while (UWP) apps utilize the Windows.Networking.BackgroundTransfer API; administrators manage jobs via tools like the BitsAdmin command-line utility or cmdlets. Commonly employed by system components such as for delivering patches and updates, BITS also supports enterprise tools like System Center Configuration Manager and enables custom applications for efficient large-file handling in bandwidth-constrained scenarios. Despite its benefits, BITS has been noted for potential risks, as actors have exploited its legitimate service to masquerade malicious downloads, though provides guidelines for monitoring and securing BITS jobs. Overall, BITS remains a foundational technology for reliable, low-impact file transfers in Windows environments, with ongoing updates ensuring compatibility with contemporary networking standards like and modern standby modes.

Overview

Purpose

The Background Intelligent Transfer Service (BITS) is a Windows component designed to facilitate asynchronous and throttled file transfers between clients and HTTP web servers or file servers, utilizing available idle network bandwidth to avoid interfering with foreground network activities. Introduced with in 2001, BITS enables low-priority background operations for downloading files to or uploading files from remote servers, allowing applications to initiate transfers that persist independently of the originating process. The primary objectives of BITS include minimizing the impact on users' available by dynamically adjusting transfer rates based on conditions, ensuring that transfers do not compete with interactive or time-sensitive applications. It supports both and scenarios, with a core focus on reliability through the ability to resume interrupted transfers seamlessly after disruptions, application closures, or system restarts. Key benefits of BITS encompass its resilience to connectivity issues, which prevents and reduces the need for manual retries, as well as its seamless integration with core Windows services such as for efficient delivery of patches and updates without disrupting user workflows. By prioritizing efficiency and resource conservation, BITS enhances overall system performance in managed environments, supporting features like to respect metered connections and power policies.

History

The Background Intelligent Transfer Service (BITS) was developed by to overcome the limitations of synchronous mechanisms in earlier Windows operating systems, which often disrupted user activities and failed to resume after interruptions such as network disconnections or system restarts. By enabling asynchronous, low-priority transfers that utilize idle bandwidth, BITS was designed primarily to support background tasks like without interfering with foreground applications. BITS was initially released as version 1.0 with on October 25, 2001, introducing core features such as prioritized and throttled downloads that could resume automatically after restarts or network issues. Subsequent minor updates, including version 1.2 in 1, provided internal improvements without altering core functionality. Version 1.5, available starting with , added support for uploads and upload-reply operations, along with command-line tools and restrictions for non-administrative users. Version 2.0, introduced in SP2 and SP1, added support for concurrent foreground downloads, SMB paths, file range downloads, and bandwidth limiting. Key enhancements continued in later Windows versions. Version 2.5, introduced in (released January 30, 2007), , and SP3, incorporated custom HTTP headers, support, and certificate-based authentication, while version 3.0 in and added peer caching for optimization and (UAC) compatibility. Windows 7 (released October 22, 2009) brought version 4.0, which enhanced peer caching through integration with BranchCache, introduced more flexible security tokens, and enabled granular for better upload prioritization. Further iterations, such as version 5.0 in , , and (initially released July 29, 2015), added support and non-administrative helper tokens (in ). Version 10.1 was included in Windows 10 Creators Update. In and later, including (released October 5, 2021), BITS evolved with versions 10.2 and 10.3, integrating support for Modern Standby to maintain efficient transfers during low-power states and improving security through server certificate validation and policy-based configurations. These updates emphasized power efficiency and security for modern devices. No major version changes have occurred since , with the service remaining stable at version 10.3 as of 2025. BITS continues to be actively used in for background transfers, including updates for via mechanisms. It also supports Azure-related update processes in ecosystems, ensuring reliable file handling for cloud-integrated tasks.

Technology

Transfers

The Background Intelligent Transfer Service (BITS) facilitates file transfers using a set of supported protocols tailored to different network resources. It primarily employs and for transfers to and from servers, enabling secure and standard web-based file movement. Additionally, BITS supports for accessing file shares on local or remote networks, allowing seamless integration with Windows file systems. These protocols ensure compatibility with common infrastructure while maintaining transfer integrity over varied connections. To handle large files efficiently, BITS employs chunked transfer mechanisms, breaking files into manageable segments for transmission. This approach, combined with HTTP Range headers, allows for precise resumption from the exact byte where a previous transfer interrupted. Resilience is a core feature, with automatic retries triggered on failures such as network timeouts or disconnections; BITS monitors connection health and reattempts transfers exponentially backing off to avoid overwhelming the network. Checkpointing persists transfer state in local storage, enabling resumption even after system reboots, logoffs, or prolonged interruptions without data loss or duplication. These mechanisms ensure high reliability for extended transfers in unstable environments. In recent versions (10.2 and later, Windows 10 October 2018 Update+), BITS supports transfers during Modern Standby on plugged-in devices and customizable HTTP methods for enhanced flexibility. BITS provides symmetric support for both downloads and uploads, treating them similarly in terms of usage and . Downloads pull files from remote s to machine, while uploads local files to s; however, in early versions like BITS 1.0 and 2.0 (introduced with and Server 2003), uploads were restricted to HTTP methods via a custom BITS upload layered on HTTP 1.1, limiting flexibility compared to modern multipart or ranged s. Later iterations expanded upload capabilities to full support and more robust HTTP methods. A notable enhancement is transfers through BITS Peercaching, introduced in , which allows clients to content from nearby peers rather than the origin , reducing wide-area load; this feature evolved into integration with BranchCache in subsequent Windows versions for optimized content distribution. The transfer process begins with job initiation, where an application or administrator creates a BITS job specifying the source, destination, and . Once submitted, the transfer executes in the background, leveraging network resources to minimize impact on user activities. Upon completion—or if errors occur—BITS triggers notifications via events, allowing the owning application to respond; transfers persist across sessions as long as the user remains authenticated, ensuring continuity without manual intervention. This flow integrates low-level handling with higher-level orchestration for efficient, unattended operations.

Jobs

In Background Intelligent Transfer Service (BITS), a job serves as the fundamental unit of work for managing file transfers, encapsulating one or more files to be downloaded from or uploaded to HTTP web servers or file shares. Each job includes properties such as a user-defined display name for identification, a type specifying whether it is a , , or upload-reply operation, a level (foreground, high, normal, or low) that influences scheduling relative to other jobs, and optional notifications for state changes or completion events. Jobs are created programmatically through the BITS COM API, such as by calling IBackgroundCopyManager::CreateJob to generate a unique GUID and obtain an IBackgroundCopyJob interface, or via command-line tools like BitsAdmin or cmdlets such as Start-BitsTransfer. Upon creation, the job starts in a suspended state, allowing files to be added and properties to be configured before resuming the transfer. jobs support multiple files (up to 200), while and upload-reply jobs are limited to one file; files are added using methods like AddFile or AddFileSet, enabling efficient batch operations with individual local and remote paths. Job states progress through a defined , beginning in the SUSPENDED state for setup, then transitioning to QUEUED (awaiting execution), (establishing ), and TRANSFERRING (active movement) as the transfer proceeds. If interruptions occur, the job may enter TRANSIENT_ERROR for automatic retries, governed by configurable delays and timeouts; persistent issues lead to the state. Successful transfers reach TRANSFERRED, with upload-reply jobs additionally awaiting acknowledgment before finalizing. occurs via IBackgroundCopyJob::GetState for state queries, progress retrieval through GetProgress, and error details via GetError, which can identify context like HRESULT codes; events such as BG_NOTIFY_JOB_TRANSFERRED enable asynchronous notifications for state changes. For uploads, an additional ACKNOWLEDGED_UPLOAD_REPLY state confirms receipt of the after transfer. Individual files within a job can encounter errors, queried separately via IBackgroundCopyError::GetFile to isolate issues without affecting the entire job. Upon reaching the TRANSFERRED state, a job completes by calling IBackgroundCopyJob::Complete, which finalizes the operation, renames temporary download files to their specified local paths (making them accessible), and transitions the job to ACKNOWLEDGED; incomplete jobs auto-cancel after 90 days, deleting temporary files but retaining uploaded data. Success or error conditions trigger notifications if registered, allowing applications to handle outcomes like logging or user alerts; transient errors retry automatically, while fatal ones require manual intervention, such as canceling the job with Cancel to remove all associated temporary files.

Bandwidth Management

Background Intelligent Transfer Service (BITS) employs a throttling mechanism that dynamically adjusts transfer rates based on available bandwidth to minimize interference with foreground activities. It monitors through the Internet Gateway Device (IGD) using UPnP or directly via the network interface card (NIC) to detect idle capacity. When user applications increase consumption, BITS reduces its transfer rate accordingly, ensuring that interactive experiences like or streaming remain unaffected. This adaptive approach allows BITS to utilize most of the available during low-activity periods while scaling back during high usage. BITS detects idle time by continuously observing patterns in network usage, such as outbound and inbound byte counts at the IGD or level. If no other applications are active on the local interface, BITS will consume nearly all available , even if downstream network segments are congested. During high-activity periods, such as video streaming or file downloads by foreground apps, BITS pauses or throttles transfers to preserve for those activities. Additionally, it incorporates Low Extra Delay Background Transport (LEDBAT) on HTTP connections to alleviate and enhance overall (QoS). For uploads and downloads, BITS applies separate considerations in its throttling, with policies allowing distinct limits for background transfers in each direction. Upload jobs, for instance, can be constrained by session limits, defaulting to a maximum of 50 concurrent upload sessions per user on IIS-enabled servers. Peer caching, integrated via Windows BranchCache, further optimizes by enabling devices to share locally cached files with peers on the same network, thereby reducing reliance on external internet for repeated transfers. This feature limits the used for serving content to peers at 1 Mbps by default, which helps prevent overload on local networks. Configuration of bandwidth management in BITS is achieved through Group Policy settings and corresponding registry keys under HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\BITS. Administrators can set maximum bandwidth limits in kilobits per second (Kbps) for specific time windows, such as during business hours, with a minimum enforceable limit of 2 Kbps; a value of 0 effectively blocks transfers. For example, the MaxInternetBandwidth policy (introduced in BITS 2.0) allows defining schedules like 10 Kbps from 8:00 A.M. to 5:00 P.M., while later versions add work-hour and maintenance-specific throttles. These limits integrate with broader QoS policies via mechanisms like LEDBAT, and job priorities can influence bandwidth allocation among active transfers. Registry entries enable fine-tuning of parameters such as maximum bytes per second for transfers, ensuring enterprise-level control without impacting default idle-time behavior.

Scheduling

BITS manages file transfer jobs through a queuing system where new jobs are added to a transfer queue upon resumption from a suspended state. Jobs are assigned one of four priority levels—foreground, high, normal, or low—which determine their execution order relative to others in the queue. Higher-priority jobs preempt lower-priority ones, ensuring critical transfers proceed first, while jobs of the same priority are scheduled using a round-robin algorithm that allocates time slices to each. Execution occurs only when system resources, such as idle network bandwidth, are available, preventing interference with foreground applications or active user tasks. Several triggers influence when queued jobs are processed. BITS detects system idleness, particularly idle network capacity, to initiate or resume transfers without impacting user experience. On battery-powered devices, transfers may pause during battery saver mode to conserve power, though they resume on AC power or when the mode ends. In versions 10.2 and later (Windows 10 October 2018 Update+), BITS supports scheduling during Modern Standby with MDM policies for enterprise management. Administrators can configure time windows via Group Policy to restrict background transfers during specified periods, such as business hours, by setting bandwidth limits to zero, effectively queuing jobs until the window closes. In cases of transient errors during transfers, BITS implements retry logic by automatically attempting resumption after a configurable minimum retry delay, defaulting to 600 seconds (10 minutes). Jobs remain in a transient error state until successful or until the NoProgressTimeout expires, after which they enter an error state; the default inactivity timeout is 90 days before cancellation. For custom timing beyond these defaults, BITS integrates with , allowing jobs to be programmatically resumed at scheduled intervals. BITS supports multi-session handling by allowing all foreground-priority jobs to run concurrently alongside a single background-priority job, with files within each job processed serially. Foreground jobs always take precedence over background ones, ensuring interactive transfers are not delayed. The total number of queued jobs is capped at 300 per machine and 60 per user by default, configurable via to manage system load.

Interfaces

Command-Line Tools

BITSAdmin is a command-line provided by for managing Background Intelligent Transfer Service (BITS) jobs, allowing users to create, monitor, and control file transfers without requiring programming knowledge. It supports commands such as adding files to jobs (bitsadmin /addfile), resuming suspended transfers (bitsadmin /resume), completing jobs (bitsadmin /complete), and listing active jobs (bitsadmin /list). A basic syntax example for creating and initiating a job is bitsadmin /create /download MyJob http://example.com/file.exe C:\Downloads\file.exe, followed by bitsadmin /resume MyJob to start the transfer. Although deprecated since and , BITSAdmin remains functional on modern Windows versions for . For contemporary management of BITS jobs, provides the BitsTransfer PowerShell module, which offers cmdlets like Add-BitsFile to append files to a job, Start-BitsTransfer to initiate transfers, and Complete-BitsTransfer to finalize and save downloaded files. These cmdlets enable for automated workflows, including error handling through constructs like try-catch blocks to manage interruptions or failures in transfers. For instance, a simple might use Start-BitsTransfer -Source "http://example.com/file.exe" -Destination "C:\Downloads\file.exe" to queue a synchronous . Command-line tools like BITSAdmin and BitsTransfer cmdlets are commonly used for manual file transfers in administrative tasks, such as downloading updates or monitoring the BITS queue with commands like bitsadmin /list or Get-BitsTransfer. However, they lack a , relying entirely on text-based input, and certain operations—such as modifying system-wide job priorities—require elevated privileges. As of 2019, has recommended transitioning to BitsTransfer cmdlets over the deprecated BITSAdmin for all new scripts and administrative routines to ensure long-term compatibility.

Programming APIs

The Background Intelligent Transfer Service (BITS) exposes a (COM)-based application programming interface (API) that enables developers to create, manage, and monitor asynchronous file transfers within Windows applications. The central interface, IBackgroundCopyManager, facilitates job creation via the CreateJob method, which initializes a new transfer job and returns an IBackgroundCopyJob pointer for subsequent operations such as adding files or setting priorities. Job enumeration is handled through the EnumJobs method, allowing applications to retrieve and inspect active or completed transfers. This COM API has been available since , providing a robust foundation for integrating BITS into . For .NET developers, BITS functionality is accessible through managed wrappers, primarily the BitsManager class in the Microsoft.BackgroundIntelligentTransfer namespace, which abstracts the underlying COM interfaces for easier integration. These wrappers support asynchronous operations, such as creating download jobs and handling completion events, and were first introduced with .NET Framework 4.0 to enable seamless use in managed code environments. Enhancements documented in 2019 extended compatibility to modern .NET runtimes, including support for .NET Core via sample implementations and updated DLL references like BITSReference1_5.dll. A representative C# example for initiating an asynchronous download involves instantiating the manager, creating a job, adding a remote file, and resuming the transfer:
csharp
using [Microsoft](/page/Microsoft).BackgroundIntelligentTransfer;

var manager = new BackgroundCopyManager();
Guid jobGuid;
IBackgroundCopyJob job;
manager.CreateJob("Sample Download", BG_JOB_TYPE.BG_JOB_TYPE_DOWNLOAD, out jobGuid, out job);
job.AddFile("[https](/page/HTTPS)://example.com/file.exe", @"C:\local\file.exe");
job.Resume();
job.RegisterStateCallback(this, null);  // For notifications
This approach allows developers to leverage BITS's bandwidth-throttling features without managing low-level details. In Win32 C/C++ applications, the BITS COM interfaces are invoked directly after obtaining the IBackgroundCopyManager via CoCreateInstance from the CLSID_BackgroundCopyManager. Key methods include CreateJob for instantiating jobs and AddFiles (or the singular AddFile) on the IBackgroundCopyJob interface to specify source URLs and local destinations. Error conditions are reported through HRESULT return codes, with detailed diagnostics available via the IBackgroundCopyError interface's GetError and GetErrorDescription methods. Custom notifications, such as job state changes or transfer completion, are supported through the IBackgroundCopyCallback interface, which developers implement to receive callbacks during asynchronous operations. These elements ensure reliable integration in native codebases. BITS APIs remain supported in Windows 10 and later versions for desktop applications, with ongoing updates reflected in Microsoft Learn documentation as of 2021, including improved integration for scripting job management. For (UWP) apps introduced in Windows 10, direct BITS API usage is not recommended; instead, the Windows.Networking.BackgroundTransfer provides a tailored alternative for background transfers compliant with app container restrictions.

Applications

Microsoft Uses

Background Intelligent Transfer Service (BITS) has been a core component of since its introduction in , enabling the download of patches and updates by leveraging idle network bandwidth to minimize disruption to other activities. employs BITS jobs to handle these transfers, including support for delta updates that deliver only changed portions of files, thereby reducing data volume and transfer times. This approach ensures reliable, resumable downloads even during network interruptions or power loss. These implementations incorporate Delivery Optimization, which builds on BITS by enabling caching to further optimize usage across devices. (WSUS) relies on BITS to download updates from Microsoft Update servers to the WSUS server itself, facilitating efficient enterprise-wide patch distribution. System Center Configuration Manager also uses BITS for delivering updates and software in enterprise environments. BITS performance in these contexts is configurable through Windows settings, such as Delivery Optimization options in Windows 11 under Settings > Windows Update > Delivery Optimization, where users can adjust bandwidth limits to balance transfer speeds with network priorities.

Third-Party Applications

Several third-party applications integrate the Background Intelligent Transfer Service (BITS) to manage file downloads and updates in the background, taking advantage of its capabilities for bandwidth throttling and resumability. This allows developers to offload transfer tasks to the operating system's native service, minimizing user interruption and optimizing network usage during idle periods. For instance, Google Chrome employs BITS for its automatic background updates on Windows systems, ensuring seamless installation without impacting foreground activities. Similarly, Skype for Business uses BITS to download Address Book Services files, facilitating efficient synchronization of contact data. These integrations highlight BITS's role in enhancing for . By leveraging the service's , third-party developers can schedule transfers that resume after interruptions, such as network outages, and limit usage to avoid competing with user-initiated activities. As of 2025, BITS remains a supported component in Windows, though some applications are transitioning to custom protocols for greater over transfer behaviors.
ApplicationVersion IntroducedPrimary Use Case
2008Automatic background updates
2010Downloading address book files

Security

Misuse and Vulnerabilities

Adversaries have exploited the Background Intelligent Transfer Service (BITS) for persistence by creating long-running jobs that download and execute malicious payloads in the background, often evading antivirus detection due to the service's legitimate use for system updates. For instance, since , Strike beacons have been deployed using BITSAdmin to silently transfer implants over idle bandwidth, allowing attackers to maintain access without triggering network alerts. Other families, such as Egregor , have similarly abused BITS jobs to deliver secondary payloads, persisting for up to 90 days or longer by extending job expiration dates. A notable vulnerability in BITS is CVE-2020-0787, an elevation of privilege flaw stemming from improper handling of symbolic links during file operations, which enables low-privileged users to overwrite system files and gain SYSTEM-level access; this issue was patched by in March 2020. Attackers have also created rogue BITS jobs through proxy execution techniques, such as invoking BITS-related DLLs via rundll32.exe to bypass execution restrictions and initiate unauthorized transfers. BITS facilitates living-off-the-land attack vectors, where threat actors leverage its native Windows functionality for command-and-control () communication, blending malicious traffic with routine update downloads to avoid firewall blocks. This technique has been observed in ransomware campaigns, such as those by groups associated with Ryuk around 2020-2021, using BITS for staging attacks on , including healthcare targets. In 2024, the BITSLOTH backdoor was identified, leveraging BITS for command-and-control in a stealthy manner. Detecting BITS misuse presents significant challenges, as jobs mimic benign system activities like transfers, leaving minimal disk artifacts and relying on the BITS queue manager database for storage, which requires specialized tools for . Without correlating BITS events with anomalous patterns or notify commands, malicious jobs often remain indistinguishable from legitimate ones, complicating timely remediation.

Mitigation Strategies

To monitor BITS for potential security issues, administrators can review logs in the Event Viewer under the Microsoft-Windows-Bits-Client/Operational , focusing on IDs 59 through 65, which indicate job starts (ID 59), data transfers (ID 60), errors (ID 61), suspensions (ID 62), resumptions (ID 63), completions (ID 64), and removals (ID 65). These events help identify anomalous job activity, such as unexpected transfers or failures that may signal misuse. Additionally, cmdlets like Get-BitsTransfer -AllUsers can query active and pending jobs across users, allowing detection of suspicious parameters, such as downloads from untrusted sources or notify commands that execute post-transfer. Hardening BITS involves configuring to restrict job creation and management, such as setting the Maximum number of BITS jobs per user or machine to limit proliferation, which can be found under > Administrative Templates > > Background Intelligent Transfer Service. To prevent unauthorized uploads, disable anonymous access in related network policies or restrict BITS permissions to administrators via settings, reducing the risk of non-privileged users initiating potentially malicious transfers. Regular restarts of the BITS service using commands like sc stop bits followed by sc start bits can clear stalled or compromised jobs, though this requires administrative privileges and should be scheduled during maintenance windows. Best practices for securing BITS include auditing third-party applications that leverage it for transfers, verifying their job configurations do not enable persistence mechanisms like notify callbacks, and ensuring only trusted software uses the service. Integrating (EDR) tools, such as Microsoft Defender for Endpoint, enables for BITS abuse, including behavioral monitoring of job creations from unusual processes or to suspicious endpoints. can detect malware abusing BITS through behavior-based detection, as demonstrated in analyses of threats like SLoad. If BITS is unused beyond essential functions, consider disabling the service via services.msc, but note this will impair and other dependent features like delivery optimization. Keeping Windows systems fully patched is essential, as updates address BITS-related vulnerabilities; for instance, recent patches enhance transfer validation to block exploits.

References

  1. [1]
    Background Intelligent Transfer Service - Win32 apps | Microsoft Learn
    May 25, 2021 · Background Intelligent Transfer Service (BITS) is used by programmers and system administrators to download files from or upload files to HTTP web servers and ...Purpose · Where applicable
  2. [2]
    What is Microsoft Windows BITS? | TechTarget
    Aug 21, 2023 · BITS is a service in Microsoft Windows operating systems (OSes) that allows download from and upload of files to Hypertext Transfer Protocol (HTTP) web servers.
  3. [3]
    What's New (BITS) - Win32 apps | Microsoft Learn
    Jun 23, 2022 · The Background Intelligent Transfer Service (BITS) has been constantly improved, adding more powerful controls for the developer and admin to control and ...
  4. [4]
    BITS: Async File Transfer System for HTTP
    Mar 11, 2025 · Background Intelligent Transfer Service (BITS) is a Windows component that asynchronously transfers files in the foreground or background.
  5. [5]
    Attacker Use Background Intelligent Transfer Service (BITS)
    Mar 31, 2021 · Microsoft introduced the Background Intelligent Transfer Service (BITS) with Windows XP to simplify and coordinate downloading and uploading large files.Missing: history | Show results with:history
  6. [6]
    About BITS - Win32 apps - Microsoft Learn
    Aug 19, 2020 · Use Background Intelligent Transfer Service (BITS) to download files from or upload files to HTTP web servers or SMB file servers.
  7. [7]
    Background Intelligent Transfer Service problem. - Microsoft Q&A
    Jun 12, 2025 · Go to Settings > System > Troubleshoot > Other troubleshooters. Run the Background Intelligent Transfer Service troubleshooter first. Then, run ...
  8. [8]
    Background Intelligent Transfer Service (BITS) Overview
    ### Summary of BITS Transfer Protocols, Features, and Process Flow
  9. [9]
    BITS Upload Protocol - Win32 apps - Microsoft Learn
    Aug 23, 2019 · The BITS upload protocol supports a single upload file per session. BITS uses packets to describe client requests and server responses.
  10. [10]
    Fail to download a file by using BITS - Windows Server
    Jan 15, 2025 · Background Intelligent Transfer Service (BITS) requires that the server support the Range protocol header. Specifically, you experience this ...Missing: resume | Show results with:resume
  11. [11]
    [MS-BPAU]: Background Intelligent Transfer Service (BITS) Peer ...
    Oct 29, 2020 · Specifies the Background Intelligent Transfer Service (BITS) Peer-Caching: Peer Authentication Protocol.
  12. [12]
    Creating a Job - Win32 apps
    ### Summary: Creating a BITS Job
  13. [13]
    Adding Files to a Job - Win32 apps
    ### Summary: Adding Multiple Files to a BITS Job
  14. [14]
    Using Windows PowerShell to Create BITS Transfer Jobs
    Jan 6, 2021 · You can use PowerShell cmdlets to create synchronous and asynchronous Background Intelligent Transfer Service (BITS) transfer jobs.
  15. [15]
    Life Cycle of a BITS Job - Win32 apps | Microsoft Learn
    Mar 5, 2021 · BITS Job states · In this article · State-changing methods · Starting state · Action states · Transferred states · Final states · Life Cycle of a BITS ...
  16. [16]
    Determining the Status of a Job - Win32 apps
    ### Summary: Monitoring Job States, Progress Queries, and Error Codes
  17. [17]
    Handling Errors (BITS) - Win32 apps - Microsoft Learn
    Dec 10, 2020 · There are two types of errors to handle in your application. The first error is a failed method call. Each method returns an HRESULT value.Missing: documentation | Show results with:documentation
  18. [18]
    Completing and Canceling a Job - Win32 apps
    ### Summary of Job Completion, Callbacks, and Temporary File Handling
  19. [19]
    Best Practices When Using BITS - Win32 apps - Microsoft Learn
    Aug 23, 2019 · BITS transfers files only when the job's owner is logged on to the computer (the user must have logged on interactively). BITS does not support ...Missing: Intelligent | Show results with:Intelligent
  20. [20]
    Network Bandwidth - Win32 apps
    ### Summary of BITS Network Bandwidth Management
  21. [21]
  22. [22]
    BITS IIS Extension Properties - Win32 apps - Microsoft Learn
    Aug 19, 2021 · Indicates whether BITS limits the number of upload sessions per user. If the setting is not present or is 0, the limit is disabled. To specify ...
  23. [23]
    Peer Caching - Win32 apps - Microsoft Learn
    Aug 19, 2020 · BITS limits the bandwidth used to serve content to 1 Mbps. You can use the MaxBandwidthServed group policy to change the limit. This feature is ...Configuration for BITS 4.0... · Disabling Windows...
  24. [24]
    Group Policies - Win32 apps - Microsoft Learn
    Aug 23, 2019 · Background Intelligent Transfer Service (BITS) uses the following Group Policies to configure BITS transfers and settings.
  25. [25]
    BG_JOB_PRIORITY (bits.h) - Win32 apps | Microsoft Learn
    Feb 22, 2024 · The priority level determines when the job is processed relative to other jobs in the transfer queue. A higher-priority job preempts a lower-priority job.
  26. [26]
    IBackgroundCopyJob::SetMinimumRetryDelay (bits.h) - Win32 apps
    Feb 22, 2024 · The default retry delay is 600 seconds (10 minutes). The minimum retry delay that you can specify is 5 seconds. If you specify a value less than ...
  27. [27]
    Using BITS - Win32 apps
    ### Summary of BITS Job Management
  28. [28]
    bitsadmin - Microsoft Learn
    Nov 1, 2024 · In this article​​ Bitsadmin is a command-line tool used to create, download or upload jobs, and to monitor their progress. The bitsadmin tool ...Bitsadmin examples · Bitsadmin reset · Bitsadmin util and setieproxy · Bitsadmin info
  29. [29]
    bitsadmin examples - Microsoft Learn
    Feb 3, 2023 · If multiple jobs use myDownloadJob as their name, you must use the job's GUID to uniquely identify it for completion. Activate the download job.Missing: concurrent | Show results with:concurrent
  30. [30]
    BITSAdmin tool - Win32 apps - Microsoft Learn
    Aug 23, 2019 · For full, comprehensive documentation of the tool and all of its commands, see bitsadmin and bitsadmin examples in the Windows IT Pro Center.
  31. [31]
    BitsTransfer Module | Microsoft Learn
    Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell ... Adds one or more files to an existing BITS transfer job.
  32. [32]
    Start-BitsTransfer - Microsoft Learn
    The Start-BitsTransfer cmdlet creates a Background Intelligent Transfer Service (BITS) transfer job to transfer one or more files between a client computer and ...Missing: SMB | Show results with:SMB<|control11|><|separator|>
  33. [33]
    bitsadmin list - Microsoft Learn
    Feb 3, 2023 · Reference article for the bitsadmin list command, which lists the transfer jobs owned by the current user.
  34. [34]
    Managed Reference for BITS PowerShell Commands - Win32 apps
    Aug 19, 2020 · Background Intelligent Transfer Service (BITS) 4.0 can use Windows PowerShell cmdlets to create and manage file download and upload transfer jobs.
  35. [35]
    IBackgroundCopyManager::CreateJob (bits.h) - Win32 apps
    Oct 12, 2021 · An IBackgroundCopyJob interface pointer that you use to modify the job's properties and specify the files to be transferred.Parameters · Return Value · RemarksMissing: BitsCreateJob | Show results with:BitsCreateJob
  36. [36]
    Using Background Intelligent Transfer Service (BITS) from .NET
    Jan 17, 2019 · The Windows Background Intelligent Transfer Service (BITS) is an easy way for programs to ask Windows to download files from or upload files to a remote HTTP ...<|control11|><|separator|>
  37. [37]
    .NET Apps and the Background Intelligent Transfer Service API
    BITS can manage multiple downloads from multiple users while making use of idle bandwidth exclusively. Although the use of BITS is not limited to auto ...<|control11|><|separator|>
  38. [38]
  39. [39]
  40. [40]
  41. [41]
    How do I fix my Microsoft Store?
    May 10, 2025 · Make sure these services are set to Automatic and are Running Windows Update Background Intelligent Transfer Service (BITS) Cryptographic ...
  42. [42]
    What is Delivery Optimization? - Microsoft Learn
    Aug 6, 2025 · Delivery Optimization is a reliable HTTP downloader with a cloud-managed solution that allows Windows devices to download those packages from alternate sources ...Requirements · How Microsoft uses Delivery...
  43. [43]
    Onedrive single file upload upload - Microsoft Q&A
    Dec 27, 2022 · When you upload a file, BITS creates a session ID that identifies the upload session to both the BITS client and BITS server. Upload files ...
  44. [44]
    BITS Policy CSP - Microsoft Learn
    Mar 12, 2025 · BITS policies control bandwidth limits for background transfers, including time limits, and set the timeout for inactive jobs.
  45. [45]
    Chrome always creates BITS files in the TEMP folder which are 3gb ...
    Sep 14, 2025 · I noticed it's being used by the "Background Intelligent Transfer Service" service. ... Google > Chrome > User Data is occupying 75 GB of data? r/ ...Chrome always creates 3.5GB BITS files every time I open it ... - RedditEdge constantly resets my default search engine to Bing, and now ...More results from www.reddit.com
  46. [46]
    Configure client bootstrapping policies - Skype for Business Server ...
    Jan 23, 2023 · Enables Skype for Business to use Background Intelligent Transfer Service (BITS) to download the Address Book Services files. Configure SIP ...<|separator|>
  47. [47]
    Problem Installing iTunes 9.1.0.79 for Windows Vista 6 APR 10
    Apr 8, 2010 · Please uninstall iTunes, then install iTunes again." "This ... Background Intelligent Transfer Service (BITS) is disabled. Error ...
  48. [48]
    BITS Jobs, Technique T1197 - Enterprise | MITRE ATT&CK®
    Apr 18, 2018 · Windows Background Intelligent Transfer Service (BITS) is a low-bandwidth, asynchronous file transfer mechanism exposed through Component ...
  49. [49]
  50. [50]
    System Binary Proxy Execution: Rundll32, Sub-technique T1218.011
    Jan 23, 2020 · Rundll32.exe is abused to proxy execution of malicious code, often DLLs, and can execute scripts, avoiding security tools.
  51. [51]
    How criminals use Windows Background Transfer Service
    Jun 23, 2021 · In the last few months, cybercrime gangs have abused the Windows Background Intelligent Transfer Service (BITS) in malware as a way of masquerading their ...
  52. [52]
    Malware Lingers with BITS - Secureworks
    Jun 6, 2016 · Threat actors leveraged a “notification” feature in the Windows Background Intelligent Transfer Service (BITS) to download malware.Missing: challenges | Show results with:challenges
  53. [53]
    Microsoft Windows Bits Client Messages
    This section details the log fields available in this log message type, along with values parsed for both LogRhythm Default and LogRhythm Default v2.0 policies.Missing: 59-65 | Show results with:59-65
  54. [54]
    Get-BitsTransfer - Microsoft Learn
    The Get-BitsTransfer cmdlet retrieves a set of Background Intelligent Transfer Service (BITS) transfer jobs.
  55. [55]
    A BITS of a Problem - Investigating BITS Jobs - The DFIR Spot
    Jan 7, 2025 · Background Intelligent Transfer Service (BITS) is ... Note that remote file must use the supported protocols, which are HTTP, HTTPS or SMB.
  56. [56]
    Background Intelligent Transfer Service (BITS) - LinkedIn
    May 11, 2025 · Chunking: Files split into 1 MB chunks; failed chunks retry automatically. Protocol Support: HTTP/S: Uses server certificate validation (disable ...<|control11|><|separator|>
  57. [57]
    Multi-stage downloader Trojan sLoad abuses BITS almost ...
    Dec 12, 2019 · ... idle bandwidth. Abusing BITS, which provides the ability to create self-contained jobs that can be prioritized and queued up and that can ...
  58. [58]
    What does Background Intelligent Transfer Service exactly do?
    May 4, 2016 · Windows Update uses the Background Intelligent Transfer Service (BITS) technology which downloads updates using idle bandwidth.How can I disable Background intelligent transfer service ...Disable Background Intelligent Transfer Service - Super UserMore results from superuser.com
  59. [59]
    Microsoft Defender ATP's Antivirus exposes Astaroth attack
    Jul 8, 2019 · T1197 – BITS Jobs; T1105 – Remote File Copy. Microsoft Defender ATP's Antivirus protection: Behavior monitoring engine: Behavior:Win32/WmicBits.Exposing A Fileless... · Step 2: Wmic Abuse, Part 1 · Step 3: Wmic Abuse, Part 2
  60. [60]
    Configure scanning options for Microsoft Defender Antivirus
    You can configure Microsoft Defender Antivirus to scan email storage files, back-up or reparse points, network files, and archived files (such as .zip ...Use Microsoft Intune To... · Use Group Policy To... · Settings And LocationsMissing: BITS | Show results with:BITS