Resume-BitsTransfer

Resumes a BITS transfer job.

Syntax

Resume-BitsTransfer
      [-BitsJob] <BitsJob[]>
      [-Asynchronous]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

The Resume-BitsTransfer cmdlet resumes one or more suspended Background Intelligent Transfer Service (BITS) transfer jobs. If the BITS transfer is already in process, the cmdlet does nothing. You can view the current state of a transfer job through the Get-BitsTransfer cmdlet.

By default, the Resume-BitsTransfer cmdlet restarts the transfer job synchronously even if the original job was specified as an asynchronous transfer job. You could use this behavior to convert an asynchronous transfer job into a synchronous transfer job. You could do this if either of the following conditions is true:

  • The asynchronous transfer job was created outside cmdlets.

  • The asynchronous transfer job was created through the Start-BitsTransfer cmdlet.

If you want to restart the transfer job as an asynchronous transfer, use the Asynchronous parameter.

Examples

Example 1: Resume all BITS transfer jobs owned by the current user

PS C:\> Get-BitsTransfer | Resume-BitsTransfer

This command resumes all the BITS transfer jobs that are owned by the current user.

The command prompt returns after the jobs are complete or after the jobs enter an error state. The output of the Get-BitsTransfer cmdlet is a set of BitsJob objects. This output is piped to the Resume-BitsTransfer cmdlet. If any of the BITS transfer jobs are already active, they will continue to run.

Example 2: Resume a new BITS transfer job that was initially suspended

PS C:\> $Bits = Start-BitsTransfer -DisplayName "MyJob" -Suspended
PS C:\> Add-BitsTransfer -BitsJob $Bits  -ClientFileName C:\myFile -ServerFileName http://www.mysite.com/file1
PS C:\> Resume-BitsTransfer -BitsJob $Bits -Asynchronous

This command resumes a new BITS transfer job that was initially suspended, and it returns the command prompt immediately.

The first command creates a new BitsJob object in a suspended state and then stores it in the $Bits variable.

The second command adds a file to the transfer queue of the new BitsJob object that is stored in the $Bits variable.

The third command uses the BitsJob parameter to pass the BitsJob object that is stored in the $Bits variable to the Resume-BitsTransfer cmdlet. This command starts the BITS transfer job.

Example 3: Resume the BITS transfer by the specified display name

PS C:\> Get-BitsTransfer -Name "TestJob01" | Resume-BitsTransfer

This command resumes the BITS transfer that is identified by the display name named TestJob01.

The command prompt returns after the job is complete or after the job enters an error state. The output of the Get-BitsTransfer cmdlet is a BitsJob object. This output is piped to the Resume-BitsTransfer cmdlet. If the BITS transfer job is already active, it continues to run.

Parameters

-Asynchronous

Indicates that the cmdlet processes the BITS transfer job in the background. The command prompt reappears immediately after the BITS transfer job is resumed. The returned BitsJob object can be used to monitor status and progress.

Type:SwitchParameter
Aliases:as
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BitsJob

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

Type:BitsJob[]
Aliases:b
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

Microsoft.BackgroundIntelligentTransfer.Management.BitsJob[]

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

Outputs

Microsoft.BackgroundIntelligentTransfer.Management.BitsJob[]

When called with the Asynchronous parameter, this cmdlet sends the BitsJob object that is associated with the resumed BITS transfer job as output. Otherwise, no output is generated.

Notes

  • You can cancel a transfer job that is running in synchronous mode (foreground priority) by pressing CTRL+C.