Commands › Exchange Online

New-MoveRequest

Exchange Online ExchangeOnlineManagement New-*

Begin the process of an asynchronous mailbox or personal archive move. You can also check mailbox readiness to be moved by using the WhatIf parameter. **Note**: After April 15, 2020, you shouldn't use this cmdlet to manually move mailboxes within an Exchange Online organization. You can only use this cmdlet for migrating to and from Exchange Online. If you have issues with a mailbox and want to fix it by moving the mailbox within your Exchange Online organization, please open a Microsoft Support request instead.

Quick start script

# New-MoveRequest — quick start (serv365.ai)
# 1. Connect (app-only shown; interactive: omit the certificate parameters)
Connect-ExchangeOnline -CertificateThumbprint $thumb -AppId $appId -Organization $org

# 2. Capture the current state first — you cannot roll back what you never recorded
$before = Get-MoveRequest
$before | Format-List

# 3. Make the change (dry run first)
New-MoveRequest -Identity <MailboxOrMailUserIdParameter> -Outbound <SwitchParameter> -Remote <SwitchParameter> -WhatIf
New-MoveRequest -Identity <MailboxOrMailUserIdParameter> -Outbound <SwitchParameter> -Remote <SwitchParameter>

# 4. Verify and diff
$after = Get-MoveRequest
Compare-Object ($before | Out-String) ($after | Out-String)

Syntax — 6 parameter sets

MigrationOutbound

New-MoveRequest [-Identity] <MailboxOrMailUserIdParameter> -RemoteHostName <Fqdn>
 [-Outbound]
 [-RemoteCredential <PSCredential>]
 [-RemoteGlobalCatalog <Fqdn>]
 [-AcceptLargeDataLoss]
 [-AllowLargeItems]
 [-ArchiveDomain <String>]
 [-ArchiveOnly]
 [-BadItemLimit <Unlimited>]
 [-BatchName <String>]
 [-CompleteAfter <DateTime>]
 [-CompletedRequestAgeLimit <Unlimited>]
 [-Confirm]
 [-DomainController <Fqdn>]
 [-ForceOffline]
 [-IgnoreRuleLimitErrors]
 [-IncrementalSyncInterval <TimeSpan>]
 [-InternalFlags <InternalMrsFlag[]>]
 [-LargeItemLimit <Unlimited>]
 [-MoveOptions <MultiValuedProperty>]
 [-MRSServer <Fqdn>]
 [-PreventCompletion]
 [-PrimaryOnly]
 [-Priority <RequestPriority>]
 [-Protect]
 [-ProxyToMailbox <MailboxIdParameter>]
 [-RemoteArchiveTargetDatabase <String>]
 [-RemoteOrganizationName <String>]
 [-RemoteTargetDatabase <String>]
 [-RequestExpiryInterval <Unlimited>]
 [-SkipMoving <SkippableMoveComponent[]>]
 [-SourceEndpoint <MigrationEndpointIdParameter>]
 [-StartAfter <DateTime>]
 [-Suspend]
 [-SuspendComment <String>]
 [-SuspendWhenReadyToComplete]
 [-TargetDeliveryDomain <Fqdn>]
 [-WhatIf]
 [-WorkloadType <RequestWorkloadType>]
 [<CommonParameters>]

MigrationRemote

New-MoveRequest [-Identity] <MailboxOrMailUserIdParameter> -RemoteHostName <Fqdn>
 [-Remote]
 [-RemoteCredential <PSCredential>]
 [-RemoteGlobalCatalog <Fqdn>]
 [-AcceptLargeDataLoss]
 [-AllowLargeItems]
 [-ArchiveDomain <String>]
 [-ArchiveOnly]
 [-ArchiveTargetDatabase <DatabaseIdParameter>]
 [-BadItemLimit <Unlimited>]
 [-BatchName <String>]
 [-CompleteAfter <DateTime>]
 [-CompletedRequestAgeLimit <Unlimited>]
 [-Confirm]
 [-DomainController <Fqdn>]
 [-ForceOffline]
 [-IgnoreRuleLimitErrors]
 [-IncrementalSyncInterval <TimeSpan>]
 [-InternalFlags <InternalMrsFlag[]>]
 [-LargeItemLimit <Unlimited>]
 [-MoveOptions <MultiValuedProperty>]
 [-MRSServer <Fqdn>]
 [-PreventCompletion]
 [-PrimaryOnly]
 [-Priority <RequestPriority>]
 [-Protect]
 [-ProxyToMailbox <MailboxIdParameter>]
 [-RemoteOrganizationName <String>]
 [-RequestExpiryInterval <Unlimited>]
 [-SkipMoving <SkippableMoveComponent[]>]
 [-SourceEndpoint <MigrationEndpointIdParameter>]
 [-StartAfter <DateTime>]
 [-Suspend]
 [-SuspendComment <String>]
 [-SuspendWhenReadyToComplete]
 [-TargetDatabase <DatabaseIdParameter>]
 [-TargetDeliveryDomain <Fqdn>]
 [-WhatIf]
 [-WorkloadType <RequestWorkloadType>]
 [<CommonParameters>]

MigrationRemoteLegacy

New-MoveRequest [-Identity] <MailboxOrMailUserIdParameter> -RemoteCredential <PSCredential> -RemoteGlobalCatalog <Fqdn>
 [-RemoteLegacy]
 [-AcceptLargeDataLoss]
 [-AllowLargeItems]
 [-BadItemLimit <Unlimited>]
 [-BatchName <String>]
 [-CompleteAfter <DateTime>]
 [-CompletedRequestAgeLimit <Unlimited>]
 [-Confirm]
 [-DomainController <Fqdn>]
 [-ForceOffline]
 [-IgnoreRuleLimitErrors]
 [-IncrementalSyncInterval <TimeSpan>]
 [-InternalFlags <InternalMrsFlag[]>]
 [-LargeItemLimit <Unlimited>]
 [-MoveOptions <MultiValuedProperty>]
 [-MRSServer <Fqdn>]
 [-PreventCompletion]
 [-Priority <RequestPriority>]
 [-Protect]
 [-ProxyToMailbox <MailboxIdParameter>]
 [-RemoteTargetDatabase <String>]
 [-RequestExpiryInterval <Unlimited>]
 [-SkipMoving <SkippableMoveComponent[]>]
 [-SourceEndpoint <MigrationEndpointIdParameter>]
 [-StartAfter <DateTime>]
 [-Suspend]
 [-SuspendComment <String>]
 [-SuspendWhenReadyToComplete]
 [-TargetDatabase <DatabaseIdParameter>]
 [-TargetDeliveryDomain <Fqdn>]
 [-WhatIf]
 [-WorkloadType <RequestWorkloadType>]
 [<CommonParameters>]

MigrationLocal

New-MoveRequest [-Identity] <MailboxOrMailUserIdParameter>
 [-AcceptLargeDataLoss]
 [-AllowLargeItems]
 [-ArchiveOnly]
 [-ArchiveTargetDatabase <DatabaseIdParameter>]
 [-BadItemLimit <Unlimited>]
 [-BatchName <String>]
 [-CompleteAfter <DateTime>]
 [-CompletedRequestAgeLimit <Unlimited>]
 [-Confirm]
 [-DomainController <Fqdn>]
 [-DoNotPreserveMailboxSignature]
 [-ForceOffline]
 [-ForcePull]
 [-ForcePush]
 [-IgnoreRuleLimitErrors]
 [-IncrementalSyncInterval <TimeSpan>]
 [-InternalFlags <InternalMrsFlag[]>]
 [-LargeItemLimit <Unlimited>]
 [-MoveOptions <MultiValuedProperty>]
 [-MRSServer <Fqdn>]
 [-PreventCompletion]
 [-PrimaryOnly]
 [-Priority <RequestPriority>]
 [-Protect]
 [-ProxyToMailbox <MailboxIdParameter>]
 [-RequestExpiryInterval <Unlimited>]
 [-SkipMoving <SkippableMoveComponent[]>]
 [-SourceEndpoint <MigrationEndpointIdParameter>]
 [-StartAfter <DateTime>]
 [-Suspend]
 [-SuspendComment <String>]
 [-SuspendWhenReadyToComplete]
 [-TargetDatabase <DatabaseIdParameter>]
 [-WhatIf]
 [-WorkloadType <RequestWorkloadType>]
 [<CommonParameters>]

2 more parameter sets — see the parameter table below.

Parameters (47)

ParameterTypeRequiredWhat it controls
-Identity MailboxOrMailUserIdParameter yes The Identity parameter specifies the identity of the mailbox or mail user. You can use the following values:
-Outbound SwitchParameter yes The Outbound switch specifies that this mailbox move is a cross-forest move and is being initiated from the source forest. You don't need to specify a value with this switch.
-Remote SwitchParameter yes The Remote switch specifies that the move is outside of your organization and is being initiated from the target forest. You don't need to specify a value with this switch.
-RemoteCredential PSCredential yes The RemoteCredential parameter specifies the username and password of an administrator who has permission to perform the mailbox move.
-RemoteGlobalCatalog Fqdn yes The RemoteGlobalCatalog parameter specifies the fully qualified domain name (FQDN) of the global catalog server for the remote forest.
-RemoteHostName Fqdn yes The RemoteHostName parameter specifies the FQDN of the cross-forest organization from which you're moving the mailbox.
-RemoteLegacy SwitchParameter yes This parameter is available only in on-premises Exchange.
-TargetDeliveryDomain Fqdn yes The TargetDeliveryDomain parameter specifies the FQDN of the external email address created in the source forest for the mail-enabled user when the move request is complete. This parameter is allowed only when...
-AcceptLargeDataLoss SwitchParameter The AcceptLargeDataLoss switch specifies the request should continue even if a large number of items in the source mailbox can't be copied to the target mailbox. You don't need to specify a value with this switch.
-AllowLargeItems SwitchParameter This parameter is available only in on-premises Exchange.
-ArchiveDomain String The ArchiveDomain parameter specifies the FQDN of the external domain to which you're moving the archive. This parameter is used for moving the archive to a cloud-based service.
-ArchiveOnly SwitchParameter The ArchiveOnly switch specifies that you're moving only the personal archive associated with the mailbox. You don't need to specify a value with this switch.
-ArchiveTargetDatabase DatabaseIdParameter This parameter is available only in on-premises Exchange.
-BadItemLimit Unlimited This parameter is available only in on-premises Exchange.
-BatchName String The BatchName parameter specifies a descriptive name for moving a batch of mailboxes. You can then use the name in the BatchName parameter as a search string when you use the Get-MoveRequest cmdlet.
-CompleteAfter DateTime The CompleteAfter parameter specifies a delay before the request is completed. The request is started, but not completed until the date/time you specify with this parameter.
-CompletedRequestAgeLimit Unlimited The CompletedRequestAgeLimit parameter specifies how long the request are kept after it has completed before being automatically removed. The default CompletedRequestAgeLimit parameter value is 30 days.
-Confirm SwitchParameter The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on whether the cmdlet requires confirmation before proceeding.
-DomainController Fqdn This parameter is available only in on-premises Exchange.
-DoNotPreserveMailboxSignature SwitchParameter This parameter is available only in on-premises Exchange.
-ForceOffline SwitchParameter The ForceOffline switch forces the mailbox move to be performed in offline mode. You don't need to specify a value with this switch.
-ForcePull SwitchParameter This parameter is available only in on-premises Exchange.
-ForcePush SwitchParameter This parameter is available only in on-premises Exchange.
-IgnoreRuleLimitErrors SwitchParameter This parameter is available only in Exchange Server 2010 or Exchange Server 2013
-IncrementalSyncInterval TimeSpan The IncrementalSyncInterval parameter specifies the wait time between incremental syncs. Use this parameter with the CompleteAfter parameter to create a move request that does periodic incremental syncs after the...
-InternalFlags InternalMrsFlag[] This parameter is available only in on-premises Exchange.
-LargeItemLimit Unlimited This parameter is available only in on-premises Exchange.
-MoveOptions MultiValuedProperty The MoveOptions parameter specifies the stages of the move that you want to skip for debugging purposes. Don't use this parameter unless you're directed to do so by Microsoft Customer Service and Support or specific...
-MRSServer Fqdn The MRSServer parameter specifies the FQDN of the Client Access server on which the instance of the Microsoft Exchange Mailbox Replication service (MRS) is running. This parameter is used for debugging purposes only....
-PreventCompletion SwitchParameter The PreventCompletion switch specifies whether to run the move request, but not allow it to complete. You don't need to specify a value with this switch.
-PrimaryOnly SwitchParameter The PrimaryOnly switch specifies that the command should only move the primary mailbox (the personal archive isn't moved). You don't need to specify a value with this switch.
-Priority RequestPriority This parameter is available only in on-premises Exchange.
-Protect SwitchParameter This parameter is available only in on-premises Exchange.
-ProxyToMailbox MailboxIdParameter This parameter is available only in the cloud-based service.
-RemoteArchiveTargetDatabase String The RemoteArchiveTargetDatabase parameter specifies the name of the target database in the remote forest to which you're moving the personal archive. Use this parameter when moving users with archives from the local...
-RemoteOrganizationName String This parameter is reserved for internal Microsoft use.
-RemoteTargetDatabase String The RemoteTargetDatabase parameter specifies the name of the target database in the remote forest. Use this parameter when moving mailboxes from the local forest to a remote forest. For moves from a remote forest to...
-RequestExpiryInterval Unlimited The RequestExpiryInterval parameter specifies an age limit for a completed or failed request. When you use this parameter, the completed or failed request is automatically removed after the specified interval...
-SkipMoving SkippableMoveComponent[] This parameter is replaced by the MoveOptions parameter.
-SourceEndpoint MigrationEndpointIdParameter This parameter is available only in the cloud-based service.
-StartAfter DateTime The StartAfter parameter specifies a delay before the request is started. The request isn't started until the date/time you specify with this parameter.
-Suspend SwitchParameter The Suspend switch specifies whether to suspend the request. You don't need to specify a value with this switch.
-SuspendComment String The SuspendComment parameter specifies a description about why the request was suspended. You can only use this parameter if you specify the Suspend parameter.
-SuspendWhenReadyToComplete SwitchParameter The SuspendWhenReadyToComplete switch specifies whether to suspend the move request before it reaches the status of CompletionInProgress. You don't need to specify a value with this switch.
-TargetDatabase DatabaseIdParameter This parameter is available only in on-premises Exchange.
-WhatIf SwitchParameter The WhatIf switch shows what the command does without making any changes. You don't need to specify a value with this switch.
-WorkloadType RequestWorkloadType This parameter is available only in on-premises Exchange.

Reference facts derived from Microsoft documentation, © Microsoft, licensed CC BY 4.0; restructured with original guidance by serv365.ai.