Applies to: Exchange Server 2013

Topic Last Modified: 2013-01-04

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

Syntax

New-MoveRequest [-ArchiveOnly <SwitchParameter>] [-ArchiveTargetDatabase <DatabaseIdParameter>] [-DoNotPreserveMailboxSignature <SwitchParameter>] [-PrimaryOnly <SwitchParameter>] [-TargetDatabase <DatabaseIdParameter>] <COMMON PARAMETERS>
New-MoveRequest -Remote <SwitchParameter> -RemoteHostName <Fqdn> [-ArchiveDomain <String>] [-ArchiveOnly <SwitchParameter>] [-ArchiveTargetDatabase <DatabaseIdParameter>] [-IgnoreTenantMigrationPolicies <SwitchParameter>] [-PrimaryOnly <SwitchParameter>] [-RemoteCredential <PSCredential>] [-RemoteGlobalCatalog <Fqdn>] [-RemoteOrganizationName <String>] [-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>] [-PrimaryOnly <SwitchParameter>] [-RemoteArchiveTargetDatabase <String>] [-RemoteCredential <PSCredential>] [-RemoteGlobalCatalog <Fqdn>] [-RemoteOrganizationName <String>] [-RemoteTargetDatabase <String>] [-TargetDeliveryDomain <Fqdn>] <COMMON PARAMETERS>
COMMON PARAMETERS: -Identity <MailboxOrMailUserIdParameter> [-AcceptLargeDataLoss <SwitchParameter>] [-AllowLargeItems <SwitchParameter>] [-BadItemLimit <Unlimited>] [-BatchName <String>] [-CheckInitialProvisioningSetting <SwitchParameter>] [-CompletedRequestAgeLimit <Unlimited>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-ForceOffline <SwitchParameter>] [-IgnoreRuleLimitErrors <SwitchParameter>] [-LargeItemLimit <Unlimited>] [-PreventCompletion <SwitchParameter>] [-Priority <Lowest | Lower | Low | Normal | High | Higher | Highest | Emergency>] [-Protect <SwitchParameter>] [-SkipMoving <SkippableMoveComponent[]>] [-Suspend <SwitchParameter>] [-SuspendComment <String>] [-SuspendWhenReadyToComplete <SwitchParameter>] [-WhatIf [<SwitchParameter>]] [-WorkloadType <None | Local | Onboarding | Offboarding | TenantUpgrade | LoadBalancing | Emergency>]

Examples

EXAMPLE 1

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.

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

EXAMPLE 2

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

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

EXAMPLE 3

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.

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

Detailed Description

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.

Parameters

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 the creation and passing of a credential object. This credential object is created 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

The RemoteLegacy switch specifies that this mailbox move is from a remote forest that doesn't have Exchange Server 2013 installed. You don't have to specify a value with this parameter.

AcceptLargeDataLoss

Optional

System.Management.Automation.SwitchParameter

The AcceptLargeDataLoss parameter specifies that a large amount of data loss is acceptable if the BadItemLimit is set to 51 or higher. Items are considered corrupted if the item can't be read from the source database or can't be written to the target database. Corrupted items won't be available in the destination mailbox or .pst file.

AllowLargeItems

Optional

System.Management.Automation.SwitchParameter

The AllowLargeItems parameter specifies that you can move large items only when large items are encountered. Large items are email messages with a maximum of 1,023 attachments.

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

The ArchiveTargetDatabase parameter specifies the Exchange target database to which you're moving the personal archive. If the ArchiveTargetDatabase parameter isn't specified, the archive is moved to the same database as the primary mailbox. If you've specified the ArchiveOnly parameter and you don't specify the ArchiveTargetDatabase parameter, the archive is moved to the homeMDB attribute of the primary mailbox.

You can use the following values:

  • GUID of the database

  • Database name

BadItemLimit

Optional

Microsoft.Exchange.Data.Unlimited

The BadItemLimit parameter specifies the number of bad items to skip if the request encounters corruption in the mailbox. Use 0 to not skip bad items. The valid input range for this parameter is from 0 through 2147483647. The default value is 0. We recommend that you keep the default value 0 and only change the BadItemLimit parameter value if the request fails.

Note:
If you set the BadItemLimit parameter to more than 50, the command fails, and you receive a warning stating: "Please confirm your intention to accept a large amount of data loss by specifying AcceptLargeDataLoss." If you receive this warning, you need to run the command again, this time using the AcceptLargeDataLoss parameter. No further warnings appear, and any corrupted items aren't available after the process is complete.

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

In Microsoft Exchange Server 2013, there is a setting, IsExcludedFromProvisioning on each mailbox database that allows it to be excluded from provisioning new mailboxes. The CheckInitialProvisioningSetting parameter specifies the IsExcludedFromProvisioning setting when choosing the target database if none is provided.

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 causes the command to pause processing and requires you to acknowledge what the command will do before processing continues. You don't have to specify a value with the Confirm switch.

DomainController

Optional

Microsoft.Exchange.Data.Fqdn

The DomainController parameter specifies the fully qualified domain name (FQDN) of the domain controller that writes this configuration change to Active Directory.

DoNotPreserveMailboxSignature

Optional

System.Management.Automation.SwitchParameter

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.

IgnoreRuleLimitErrors

Optional

System.Management.Automation.SwitchParameter

The IgnoreRuleLimitErrors parameter specifies that the command doesn't move the user's rules to the target server running Exchange.

IgnoreTenantMigrationPolicies

Optional

System.Management.Automation.SwitchParameter

This parameter is reserved for internal Microsoft use.

LargeItemLimit

Optional

Microsoft.Exchange.Data.Unlimited

The LargeItemLimit parameter specifies the number of large items to skip if the request encounters such items in the mailbox. Use 0 to not skip any large items. If any number above 50 is specified, the AcceptLargeDataLoss parameter must also be specified. The default value is 0. We recommend that you use the default value of 0 and increase the LargeItemLimit only when large items are encountered.

PreventCompletion

Optional

System.Management.Automation.SwitchParameter

The PreventCompletion parameter specifies that this cmdlet initializes, but isn't completed. This parameter accepts $true or $false. The default value is $false. If you specify $true, you have to run the Resume-MoveRequest cmdlet to complete the move request.

PrimaryOnly

Optional

System.Management.Automation.SwitchParameter

The PrimaryOnly parameter 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 parameter.

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

Priority

Optional

Microsoft.Exchange.MailboxReplicationService.RequestPriority

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

Protect

Optional

System.Management.Automation.SwitchParameter

This parameter is reserved for internal Microsoft use.

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.

SkipMoving

Optional

Microsoft.Exchange.Management.RecipientTasks.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.

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. After the move is suspended, it has a status of AutoSuspended. You can then manually complete the move by using the Resume-MoveRequest command.

Note:
You can only use the SuspendWhenReadyToComplete switch for online mailbox moves and when moving mailboxes from Exchange Server 2007 or Exchange 2010 mailbox databases.

TargetDatabase

Optional

Microsoft.Exchange.Configuration.Tasks.DatabaseIdParameter

The TargetDatabase parameter specifies the identity of the database that you're moving the mailbox to. If you don't specify the TargetDatabase parameter, the command uses the automatic mailbox distribution logic to determine the database to move to.

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 instructs the command to simulate the actions that it would take on the object. The WhatIf switch can also be used to test a mailbox's readiness to be moved.

By using the WhatIf switch, you can view any errors that will occur without adding the mailbox to the move request queue. You don't have to specify a value with the WhatIf switch.

WorkloadType

Optional

Microsoft.Exchange.MailboxReplicationService.RequestWorkloadType

This parameter is reserved for internal Microsoft use.

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.

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