New-MoveRequest

 

Applies to: Exchange Online, Exchange Server 2016

Topic Last Modified: 2016-07-14

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

Use the New-MoveRequest cmdlet to 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.

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

New-MoveRequest [-ArchiveOnly <SwitchParameter>] [-ArchiveTargetDatabase <DatabaseIdParameter>] [-DoNotPreserveMailboxSignature <SwitchParameter>] [-ForcePull <SwitchParameter>] [-ForcePush <SwitchParameter>] [-PrimaryOnly <SwitchParameter>] [-TargetDatabase <DatabaseIdParameter>] <COMMON PARAMETERS>

New-MoveRequest -Remote <SwitchParameter> -RemoteHostName <Fqdn> [-ArchiveDomain <String>] [-ArchiveOnly <SwitchParameter>] [-ArchiveTargetDatabase <DatabaseIdParameter>] [-IgnoreTenantMigrationPolicies <SwitchParameter>] [-MigrationMailbox <MailboxIdParameter>] [-PrimaryOnly <SwitchParameter>] [-RemoteCredential <PSCredential>] [-RemoteGlobalCatalog <Fqdn>] [-RemoteOrganizationName <String>] [-SourceEndpoint <MigrationEndpointIdParameter>] [-TargetDatabase <DatabaseIdParameter>] [-TargetDeliveryDomain <Fqdn>] <COMMON PARAMETERS>

New-MoveRequest -RemoteCredential <PSCredential> -RemoteGlobalCatalog <Fqdn> -RemoteLegacy <SwitchParameter> [-IgnoreTenantMigrationPolicies <SwitchParameter>] [-RemoteTargetDatabase <String>] [-TargetDatabase <DatabaseIdParameter>] [-TargetDeliveryDomain <Fqdn>] <COMMON PARAMETERS>

New-MoveRequest -Outbound <SwitchParameter> -RemoteHostName <Fqdn> [-ArchiveDomain <String>] [-ArchiveOnly <SwitchParameter>] [-IgnoreTenantMigrationPolicies <SwitchParameter>] [-MigrationMailbox <MailboxIdParameter>] [-PrimaryOnly <SwitchParameter>] [-RemoteArchiveTargetDatabase <String>] [-RemoteCredential <PSCredential>] [-RemoteGlobalCatalog <Fqdn>] [-RemoteOrganizationName <String>] [-RemoteTargetDatabase <String>] [-SourceEndpoint <MigrationEndpointIdParameter>] [-TargetDeliveryDomain <Fqdn>] <COMMON PARAMETERS>

COMMON PARAMETERS: -Identity <MailboxOrMailUserIdParameter> [-AcceptLargeDataLoss <SwitchParameter>] [-AllowLargeItems <SwitchParameter>] [-BadItemLimit <Unlimited>] [-BatchName <String>] [-CheckInitialProvisioningSetting <SwitchParameter>] [-CompleteAfter <DateTime>] [-CompletedRequestAgeLimit <Unlimited>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-ForceOffline <SwitchParameter>] [-IncrementalSyncInterval <TimeSpan>] [-InternalFlags <InternalMrsFlag[]>] [-LargeItemLimit <Unlimited>] [-MoveOptions <MultiValuedProperty>] [-PreventCompletion <SwitchParameter>] [-Priority <Lowest | Lower | Low | Normal | High | Higher | Highest | Emergency>] [-Protect <SwitchParameter>] [-ProxyToMailbox <MailboxIdParameter>] [-RequestExpiryInterval <Unlimited>] [-SkipMoving <SkippableMoveComponent[]>] [-StartAfter <DateTime>] [-Suspend <SwitchParameter>] [-SuspendComment <String>] [-SuspendWhenReadyToComplete <SwitchParameter>] [-WhatIf [<SwitchParameter>]] [-WorkloadType <None | Local | Onboarding | Offboarding | TenantUpgrade | LoadBalancing | Emergency | RemotePstIngestion | SyncAggregation | RemotePstExport | XO1Migration | CrossResourceForest | ShadowSync | XrmSharing | ThirdPartyContactSync>]

This example tests a mailbox's readiness to move to the new database DB01 within the same forest and for completeness of the command by using the WhatIf switch. When you use the WhatIf switch, the system performs checks on the mailbox, and if the mailbox isn't ready, you receive an error.

New-MoveRequest -Identity 'tony@alpineskihouse.com' -TargetDatabase "DB01" -WhatIf

This example moves Tony Smith's mailbox to the new database DB01.

New-MoveRequest -Identity 'tony@alpineskihouse.com' -TargetDatabase "DB01"

This example creates a batch move request for all mailboxes on the database DB01 and moves them to the database DB02 with the BatchName parameter value DB01toDB02.

Get-Mailbox -Database DB01 | New-MoveRequest -TargetDatabase DB02 -BatchName "DB01toDB02"

You need to be assigned permissions before you can run this cmdlet. Although all parameters for this cmdlet are listed in this topic, you may not have access to some parameters if they're not included in the permissions assigned to you. To see what permissions you need, see the "Mailbox moves" entry in the Recipients Permissions topic.

 

Parameter Required Type Description

Identity

Required

Microsoft.Exchange.Configuration.Tasks.MailboxOrMailUserIdParameter

The Identity parameter specifies the identity of the mailbox or mail user. You can use the following values:

  • GUID

  • Distinguished name (DN)

  • Domain\Account

  • User principal name (UPN)

  • LegacyExchangeDN

  • SMTP address

  • Alias

Outbound

Required

System.Management.Automation.SwitchParameter

The Outbound switch specifies that this mailbox move is a cross-forest move and is being initiated from the source forest. You don't have to specify a value with this parameter.

You can't use this parameter in conjunction with the Remote switch.

Remote

Required

System.Management.Automation.SwitchParameter

The Remote switch specifies that the move you're initiating is outside of your organization, and that this move is being initiated from the target forest.

You don't have to specify a value with this parameter.

You can't use this parameter in conjunction with the Outbound switch.

RemoteCredential

Required

System.Management.Automation.PSCredential

The RemoteCredential parameter specifies an administrator who has permission to perform the mailbox move, for example, Administrator@humongousinsurance.com.

This parameter requires you to create a credentials object by using the Get-Credential cmdlet. For more information, see Get-Credential.

RemoteGlobalCatalog

Required

Microsoft.Exchange.Data.Fqdn

The RemoteGlobalCatalog parameter specifies the fully qualified domain name (FQDN) of the global catalog server for the remote forest.

RemoteHostName

Required

Microsoft.Exchange.Data.Fqdn

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

RemoteLegacy

Required

System.Management.Automation.SwitchParameter

This parameter is available only in on-premises Exchange 2016.

The RemoteLegacy switch specifies that this mailbox move is from a remote forest that has only Exchange 2010 servers installed. You don't need to specify a value with this switch.

AcceptLargeDataLoss

Optional

System.Management.Automation.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 need to use this switch if you set either the BadItemLimit or LargeItemLimit parameters to a value of 51 or higher. Otherwise, the command will fail.

AllowLargeItems

Optional

System.Management.Automation.SwitchParameter

This parameter is available only in on-premises Exchange 2016.

The AllowLargeItems switch specifies that items larger than the target mailbox limits are copied without failure. You can't use the AllowLargeItems switch and the LargeItemLimit parameter together in the same command.

ArchiveDomain

Optional

System.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

Optional

System.Management.Automation.SwitchParameter

The ArchiveOnly parameter specifies that you're moving only the personal archive associated with the mailbox.

You can't use this parameter in conjunction with the PrimaryOnly parameter.

ArchiveTargetDatabase

Optional

Microsoft.Exchange.Configuration.Tasks.DatabaseIdParameter

This parameter is available only in on-premises Exchange 2016.

The ArchiveTargetDatabase parameter specifies the Exchange target database to which you're moving the personal archive. If this parameter isn't specified, the archive is moved to the same database as the primary mailbox.

You can use the following values for this parameter:

  • GUID of the database

  • Database name

BadItemLimit

Optional

Microsoft.Exchange.Data.Unlimited

The BadItemLimit parameter specifies the maximum number of bad items that are allowed before the request fails. A bad item is a corrupt item in the source mailbox that can't be copied to the target mailbox. Also included in the bad item limit are missing items. Missing items are items in the source mailbox that can't be found in the target mailbox when the request is ready to complete.

Valid input for this parameter is an integer or the value unlimited. The default value is 0, which means the request will fail if any bad items are detected. If you are OK with leaving a few bad items behind, you can set this parameter to a reasonable value (we recommend 10 or lower) so the request can proceed. If too many bad items are detected, consider using the New-MailboxRepairRequest cmdlet to attempt to fix corrupted items in the source mailbox, and try the request again.

noteNote:
If you set this value to 51 or higher, you also need to use the AcceptLargeDataLoss switch. Otherwise, the command will fail.

BatchName

Optional

System.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.

CheckInitialProvisioningSetting

Optional

System.Management.Automation.SwitchParameter

The CheckInitialProvisioningSetting switch specifies that the move request checks the IsExcludedFromProvisioning setting on the target database when you don't specify a target database for the move. You don't need to specify a value with this switch.

The IsExcludedFromProvisioning setting allows the database to be excluded from provisioning new mailboxes.

CompleteAfter

Optional

System.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.

Use the short date format that's defined in the Regional Options settings on the computer where you're running the command. For example, if the computer is configured to use the short date format mm/dd/yyyy, enter 09/01/2015 to specify September 1, 2015. You can enter the date only, or you can enter the date and time of day. If you enter the date and time of day, enclose the value in quotation marks ("), for example, "09/01/2015 5:00 PM".

In Exchange Online, if you specify a date/time value without a time zone, the value is in Coordinated Universal Time (UTC). To specify a date/time value for this parameter in Exchange Online, use either of the following options:

  • Specify the date/time value in UTC   For example, "2016-05-06 14:30:00z".

  • Specify the date/time value as a formula that converts the date/time in your local time zone to UTC   For example, (Get-Date "5/6/2016 9:30 AM").ToUniversalTime(). For more information, see Get-Date.

CompletedRequestAgeLimit

Optional

Microsoft.Exchange.Data.Unlimited

The CompletedRequestAgeLimit parameter specifies how long the request will be kept after it has completed before being automatically removed. The default CompletedRequestAgeLimit parameter value is 30 days.

Confirm

Optional

System.Management.Automation.SwitchParameter

The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding.

  • Destructive cmdlets (for example, Remove-* cmdlets) have a built-in pause that forces you to acknowledge the command before proceeding. For these cmdlets, you can skip the confirmation prompt by using this exact syntax: -Confirm:$false.

  • Most other cmdlets (for example, New-* and Set-* cmdlets) don't have a built-in pause. For these cmdlets, specifying the Confirm switch without a value introduces a pause that forces you acknowledge the command before proceeding.

DomainController

Optional

Microsoft.Exchange.Data.Fqdn

This parameter is available only in on-premises Exchange 2016.

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.

DoNotPreserveMailboxSignature

Optional

System.Management.Automation.SwitchParameter

This parameter is available only in on-premises Exchange 2016.

The DoNotPreserveMailboxSignature parameter specifies that the command doesn't preserve the mailbox mapping signature. We recommend that you use this parameter only if the move request fails because the Named Property identifiers are depleted. If you specify this parameter, the mailbox user is required to restart Microsoft Outlook when the move request is complete.

ForceOffline

Optional

System.Management.Automation.SwitchParameter

The ForceOffline parameter forces a mailbox move to be performed in offline mode. Moving a mailbox in offline mode means the user will have no access to email during the mailbox move.

ForcePull

Optional

System.Management.Automation.SwitchParameter

This parameter is available only in on-premises Exchange 2016.

The ForcePull parameter specifies that the type of move should be a Pull move. This parameter can be used for local moves only.

ForcePush

Optional

System.Management.Automation.SwitchParameter

This parameter is available only in on-premises Exchange 2016.

The ForcePush parameter specifies that the type of move should be a Push move. This parameter can be used for local moves only.

IgnoreTenantMigrationPolicies

Optional

System.Management.Automation.SwitchParameter

PARAMVALUE: SwitchParameter

IncrementalSyncInterval

Optional

System.TimeSpan

The IncrementalSyncInterval parameter specifies the wait time between incremental syncs. This parameter is used together with the CompleteAfter parameter to create a move request that will do periodic incremental syncs after the initial sync is complete.

To specify a value, enter it as a time span: dd.hh:mm:ss where dd = days, hh = hours, mm = minutes, and ss = seconds.

Valid values are from 00:00:00 to 120.00:00:00 (120 days). The default value is 24 hours.

InternalFlags

Optional

Microsoft.Exchange.Management.Migration.MailboxReplication.RequestBase.InternalMrsFlag[]

This parameter is available only in on-premises Exchange 2016.

The InternalFlags parameter specifies the optional steps in the request. This parameter is used primarily for debugging purposes.

LargeItemLimit

Optional

Microsoft.Exchange.Data.Unlimited

The LargeItemLimit parameter specifies the maximum number of large items that are allowed before the request fails. A large item is a message in the source mailbox that exceeds the maximum message size that's allowed in the target mailbox. If the target mailbox doesn't have a specifically configured maximum message size value, the organization-wide value is used.

For more information about maximum message size values, see the following topics:

Valid input for this parameter is an integer or the value unlimited. The default value is 0, which means the request will fail if any large items are detected. If you are OK with leaving a few large items behind, you can set this parameter to a reasonable value (we recommend 10 or lower) so the request can proceed.

noteNote:
If you set this value to 51 or higher, you also need to use the AcceptLargeDataLoss switch. Otherwise, the command will fail.

MigrationMailbox

Optional

Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter

PARAMVALUE: MailboxIdParameter

MoveOptions

Optional

Microsoft.Exchange.Data.MultiValuedProperty

PARAMVALUE: MultiValuedProperty

PreventCompletion

Optional

System.Management.Automation.SwitchParameter

The PreventCompletion switch specifies whether to run the move request, but not allow it to complete. Instead of this switch, we recommend using the CompleteAfter parameter.

PrimaryOnly

Optional

System.Management.Automation.SwitchParameter

The PrimaryOnly switch specifies that the command should only move the primary mailbox; the personal archive isn't moved. You don't have to specify a value with this switch.

You use this switch only if the user has a personal archive that you don't want to move. If the user doesn't have personal archive, don't use this switch.

You can't use this parameter in conjunction with the ArchiveOnly parameter.

Priority

Optional

Microsoft.Exchange.MailboxReplicationService.RequestPriority

This parameter is available only in on-premises Exchange 2016.

The Priority parameter specifies the order in which the request should be processed in the request queue. Requests are processed in order, based on server health, status, priority, and last update time. Valid priority values are:

  • Lowest

  • Lower

  • Low

  • Normal   This is the default value.

  • High

  • Higher

  • Highest

  • Emergency

Protect

Optional

System.Management.Automation.SwitchParameter

This parameter is reserved for internal Microsoft use.

ProxyToMailbox

Optional

Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter

PARAMVALUE: MailboxIdParameter

RemoteArchiveTargetDatabase

Optional

System.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 forest to a remote forest. For moves from a remote forest to the local forest, use the ArchiveTargetDatabase parameter.

If you use this parameter, you must specify the Remote or RemoteLegacy parameter.

RemoteOrganizationName

Optional

System.String

This parameter is reserved for internal Microsoft use.

RemoteTargetDatabase

Optional

System.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 the local forest, use the TargetDatabase parameter.

If you use this parameter, you must specify the Remote or RemoteLegacy parameter.

RequestExpiryInterval

Optional

Microsoft.Exchange.Data.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 expires. If you don't use this parameter:

  • The completed request is automatically removed based on the CompletedRequestAgeLimit parameter value.

  • If the request fails, you need to manually remove it by using the corresponding Remove-*Request cmdlet.

To specify a value, enter it as a time span: dd.hh:mm:ss where dd = days, hh = hours, mm = minutes, and ss = seconds.

When you use the value Unlimited, the completed request isn't automatically removed.

SkipMoving

Optional

Microsoft.Exchange.Management.Migration.MailboxReplication.MoveRequest.SkippableMoveComponent[]

The SkipMoving parameter allows certain stages of a mailbox move to be skipped for debugging purposes. Don't use this parameter unless directed to do so by a support professional or specific documentation.

SourceEndpoint

Optional

Microsoft.Exchange.Management.Migration.MigrationService.Endpoint.MigrationEndpointIdParameter

PARAMVALUE: MigrationEndpointIdParameter

StartAfter

Optional

System.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.

Use the short date format that's defined in the Regional Options settings on the computer where you're running the command. For example, if the computer is configured to use the short date format mm/dd/yyyy, enter 09/01/2015 to specify September 1, 2015. You can enter the date only, or you can enter the date and time of day. If you enter the date and time of day, enclose the value in quotation marks ("), for example, "09/01/2015 5:00 PM".

In Exchange Online, if you specify a date/time value without a time zone, the value is in Coordinated Universal Time (UTC). To specify a date/time value for this parameter in Exchange Online, use either of the following options:

  • Specify the date/time value in UTC   For example, "2016-05-06 14:30:00z".

  • Specify the date/time value as a formula that converts the date/time in your local time zone to UTC   For example, (Get-Date "5/6/2016 9:30 AM").ToUniversalTime(). For more information, see Get-Date.

Suspend

Optional

System.Management.Automation.SwitchParameter

The Suspend switch specifies whether to suspend the request. If you use this switch, the request is queued, but the request won't reach the status of InProgress until you resume the request with the relevant resume cmdlet. You don't have to specify a value with this switch.

SuspendComment

Optional

System.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

Optional

System.Management.Automation.SwitchParameter

The SuspendWhenReadyToComplete switch specifies whether to suspend the move request before it reaches the status of CompletionInProgress. Instead of this switch, we recommend that you use the CompleteAfter parameter.

TargetDatabase

Optional

Microsoft.Exchange.Configuration.Tasks.DatabaseIdParameter

This parameter is available only in on-premises Exchange 2016.

The TargetDatabase parameter specifies the identity of the database that you're moving the mailbox to. If you don't use this parameter, the automatic distribution logic will select a random database from the Active Directory site where you are running the command.

You can use the following values:

  • GUID of the database

  • Database name

TargetDeliveryDomain

Optional

Microsoft.Exchange.Data.Fqdn

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 performing remote moves with the Remote or RemoteLegacy parameter.

WhatIf

Optional

System.Management.Automation.SwitchParameter

The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. You don't need to specify a value with this switch.

You can use this switch to test a mailbox's readiness to be moved, and to view any errors that will occur without adding the mailbox to the move request queue.

WorkloadType

Optional

Microsoft.Exchange.MailboxReplicationService.RequestWorkloadType

This parameter is available only in on-premises Exchange 2016.

The WorkloadType parameter is reserved for internal Microsoft use.

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.

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.

 
Show: