Cancels a Background Intelligent Transfer Service (BITS) transfer job.
Remove-BitsTransfer [-BitsJob*] <BitsJob[]> [-Confirm] [-WhatIf] [<CommonParameters>]

The Remove-BitsTransfer cmdlet cancels a BITS transfer job. It deletes the underlying transfer job, removes any temporary files from the client, and deletes the associated BitsJob object.

When the Remove-BitsTransfer cmdlet cancels a transfer job, it deletes all the transfers. Consider a scenario is which you are transferring three files. One file is completely transferred, one file is pending, and one file is currently being transferred. In this scenario, Remove-BitsTransfer cancels the whole transfer and deletes the underlying files. Any files that were already transferred will not be available after you use the Remove-BitsTransfer cmdlet to cancel the transfer job. Optionally, you can use a Complete-BitsTransfer command to commit any files that are completely downloaded and to cancel the pending and current transfers. The transferred file would not be deleted and would be available.

-BitsJob <BitsJob[]>

  • This value is required
  • Accepts pipeline input ByValue

Specifies the BITS transfer jobs to cancel. You can pipe a value to this parameter from other cmdlets that return BitsJob objects, such as Get-BitsTransfer.

-Confirm [<SwitchParameter>]

Prompts you for confirmation before executing the command.

-WhatIf [<SwitchParameter>]

Describes what would happen if you executed the command without actually executing the command.


This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.



This cmdlet accepts one or more BitsJob objects as input that populates the BitsJob parameter.



This cmdlet does not generate any output.

  1. This command cancels all the BITS transfer jobs that are owned by the current user:
    C:PS> Get-BitsTransfer | Remove-BitsTransfer

    The output of the Get-BitsTransfer cmdlet is piped to the Remove-BitsTransfer cmdlet. The output is a set of BitsJob objects.

  2. This command cancels all the BITS transfer jobs on the computer:
    C:PS> $b = Get-BitsTransfer -AllUsers
    Remove-BitsTransfer -BitsJob $b

    The first command retrieves all the BitsJob objects on the computer and then stores them in the $b variable.

    The second command uses the BitsJob parameter to pass the BitsJob objects that are stored in the $b variable to the Remove-BitsTransfer cmdlet.

Additional Notes
 After a job is removed (canceled) or completed, any job objects that were previously cached in variables or in 
 scripts are no longer valid.
Related Links