Get-MoveRequest

This cmdlet is available in on-premises Exchange and in the cloud-based service. Some parameters and settings may be exclusive to one environment or the other.

Use the Get-MoveRequest cmdlet to view the detailed status of an ongoing asynchronous mailbox move that was initiated by using the New-MoveRequest cmdlet.

For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax.

Syntax

Get-MoveRequest
   [[-Identity] <MoveRequestIdParameter>]
   [-Credential <PSCredential>]
   [-DomainController <Fqdn>]
   [-OrganizationalUnit <OrganizationalUnitIdParameter>]
   [-ResultSize <Unlimited>]
   [-SortBy <String>]
   [-IncludeSoftDeletedObjects]
   [-ProxyToMailbox <MailboxIdParameter>]
   [<CommonParameters>]
Get-MoveRequest
   [-BatchName <String>]
   [-Credential <PSCredential>]
   [-DomainController <Fqdn>]
   [-Flags <RequestFlags>]
   [-HighPriority <Boolean>]
   [-IncludeSoftDeletedObjects]
   [-MoveStatus <RequestStatus>]
   [-Offline <Boolean>]
   [-OrganizationalUnit <OrganizationalUnitIdParameter>]
   [-Protect <Boolean>]
   [-ProxyToMailbox <MailboxIdParameter>]
   [-RemoteHostName <Fqdn>]
   [-ResultSize <Unlimited>]
   [-SortBy <String>]
   [-SourceDatabase <DatabaseIdParameter>]
   [-Status <RequestStatus>]
   [-Suspend <Boolean>]
   [-SuspendWhenReadyToComplete <Boolean>]
   [-TargetDatabase <DatabaseIdParameter>]
   [<CommonParameters>]

Description

The search criteria for the Get-MoveRequest cmdlet is a Boolean And statement. If you use multiple parameters, it narrows your search and reduces your search results.

You need to be assigned permissions before you can run this cmdlet. Although this topic lists all parameters for the cmdlet, you may not have access to some parameters if they're not included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see Find the permissions required to run any Exchange cmdlet.

Examples

Example 1

Get-MoveRequest -Identity 'tony@contoso.com'

This example retrieves the status of the ongoing mailbox move for Tony Smith's mailbox (tony@contoso.com).

Example 2

Get-MoveRequest -MoveStatus InProgress -TargetDatabase DB05

This example retrieves the status of ongoing mailbox moves to the target database DB05.

Example 3

Get-MoveRequest -BatchName "FromDB01ToDB02" -MoveStatus CompletedWithWarning

This example retrieves the status of move requests in the FromDB01ToDB02 batch that completed, but had warnings.

Parameters

-BatchName

The BatchName parameter specifies the name that was given to a batch move request.

You can't use this parameter with the Identity parameter.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-Credential

This parameter is available only in on-premises Exchange.

The Credential parameter specifies the username and password that's used to run this command. Typically, you use this parameter in scripts or when you need to provide different credentials that have the required permissions.

A value for this parameter requires the Get-Credential cmdlet. To pause this command and receive a prompt for credentials, use the value (Get-Credential). Or, before you run this command, store the credentials in a variable (for example, $cred = Get-Credential) and then use the variable name ($cred) for this parameter. For more information, see Get-Credential.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-DomainController

This parameter is available only in on-premises Exchange.

The DomainController parameter specifies the domain controller that's used by this cmdlet to read data from or write data to Active Directory. You identify the domain controller by its fully qualified domain name (FQDN). For example, dc01.contoso.com.

Type:Fqdn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Flags

The Flags parameter specifies the move type to retrieve information for. The following values may be used:

  • CrossOrg
  • HighPriority
  • IntraOrg
  • Join
  • MoveOnlyArchiveMailbox
  • MoveOnlyPrimaryMailbox
  • None
  • Offline
  • Protected
  • Pull
  • Push
  • RemoteLegacy
  • Split
  • Suspend
  • SuspendWhenReadyToComplete
  • TargetIsAggregatedMailbox
Type:RequestFlags
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-HighPriority

This parameter is available only in on-premises Exchange.

The HighPriority parameter specifies that the cmdlet returns requests that were created with the HighPriority flag. The HighPriority flag indicates that the request should be processed before other lower priority requests in the queue.

You can't use this parameter with the Identity parameter.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Identity

The Identity parameter specifies the identity of the move request, which is the identity of the mailbox or mail user. You can use any value that uniquely identifies the mailbox or mail user. For example:

  • Name
  • Alias
  • Distinguished name (DN)
  • Canonical DN
  • Domain\Username
  • Email address
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • User ID or user principal name (UPN)

You can use this parameter with the following parameters:

  • BatchName
  • HighPriority
  • MoveStatus
  • Offline
  • Protect
  • RemoteHostName
  • SourceDatabase
  • Suspend
  • SuspendWhenReadyToComplete
  • TargetDatabase
Type:MoveRequestIdParameter
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-IncludeSoftDeletedObjects

This parameter is available only in on-premises Exchange.

The IncludeSoftDeletedObjects parameter specifies whether to return mailboxes that have been soft deleted. This parameter accepts $true or $false.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-MoveStatus

The MoveStatus parameter returns move requests in the specified status. You can use the following values:

  • AutoSuspended
  • Completed
  • CompletedWithWarning
  • CompletionInProgress
  • Failed
  • InProgress
  • Queued
  • Retrying
  • Suspended

You can't use this parameter with the Identity parameter.

Type:RequestStatus
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Offline

The Offline parameter specifies whether to return mailboxes that are being moved in offline mode. This parameter accepts $true or $false.

You can't use this parameter with the Identity parameter.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-OrganizationalUnit

The OrganizationalUnit parameter filters the results based on the object's location in Active Directory. Only objects that exist in the specified location are returned. Valid input for this parameter is an organizational unit (OU) or domain that's returned by the Get-OrganizationalUnit cmdlet. You can use any value that uniquely identifies the OU or domain. For example:

  • Name
  • Canonical name
  • Distinguished name (DN)
  • GUID
Type:OrganizationalUnitIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Protect

This parameter is available only in on-premises Exchange.

The Protect parameter returns mailboxes being moved in protected mode. This parameter accepts $true or $false.

You can't use this parameter with the Identity parameter.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-ProxyToMailbox

This parameter is available only in the cloud-based service.

The ProxyToMailbox parameter filters the results by the location of the specified mailbox (also known as proxying). You can use any value that uniquely identifies the mailbox. For example:

  • Name
  • Alias
  • Distinguished name (DN)
  • Canonical DN
  • Domain\Username
  • Email address
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • User ID or user principal name (UPN)
Type:MailboxIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-RemoteHostName

The RemoteHostName parameter specifies the FQDN of the cross-forest organization from which you're moving the mailbox.

You can't use this parameter with the Identity parameter.

Type:Fqdn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-ResultSize

The ResultSize parameter specifies the maximum number of results to return. If you want to return all requests that match the query, use unlimited for the value of this parameter. The default value is 1000.

Type:Unlimited
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-SortBy

The SortBy parameter specifies the property to sort the results by. You can sort by only one property at a time. The results are sorted in ascending order.

If the default view doesn't include the property you're sorting by, you can append the command with | Format-Table -Auto Property1,Property2,...PropertyX. to create a new view that contains all of the properties that you want to see. Wildcards (*) in the property names are supported.

You can sort by the following properties:

  • Name
  • DisplayName
  • Alias
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-SourceDatabase

This parameter is available only in on-premises Exchange.

The SourceDatabase parameter returns all mailboxes that are being moved from the specified source mailbox database. You can use any value that uniquely identifies the database. For example:

  • Name
  • Distinguished name (DN)
  • GUID

You can't use this parameter with the Identity parameter.

Type:DatabaseIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Status

This parameter is available only in the cloud-based service.

The Status parameter filters the results by status. Valid values are:

  • AutoSuspended
  • Completed
  • CompletedWithSkippedItems
  • CompletedWithWarning
  • CompletionInProgress
  • Failed
  • InProgress
  • Queued
  • Retrying
  • Suspended
  • Synced
Type:RequestStatus
Aliases:MoveStatus
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-Suspend

The Suspend parameter specifies whether to return mailboxes with moves that have been suspended. This parameter accepts $true or $false.

You can't use this parameter with the Identity parameter.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-SuspendWhenReadyToComplete

The SuspendWhenReadytoComplete parameter specifies whether to return mailboxes that have been moved with the New-MoveRequest command and its SuspendWhenReadyToComplete switch. This parameter accepts $true or $false.

You can't use this parameter with the Identity parameter.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-TargetDatabase

This parameter is available only in on-premises Exchange.

The TargetDatabase parameter returns all mailboxes that are being moved to the specified target mailbox database. You can use any value that uniquely identifies the database. For example:

  • Name
  • Distinguished name (DN)
  • GUID

You can't use this parameter with the Identity parameter.

Type:DatabaseIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Inputs

Input types

To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types. If the Input Type field for a cmdlet is blank, the cmdlet doesn't accept input data.

Outputs

Output types

To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types. If the Output Type field is blank, the cmdlet doesn't return data.