Applies to: Exchange Server 2010 SP3, Exchange Server 2010 SP2
Topic Last Modified: 2012-12-11
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.
Syntax
New-MoveRequest -Identity
<MailboxOrMailUserIdParameter> [-AcceptLargeDataLoss
<SwitchParameter>] [-AllowLargeItems <SwitchParameter>]
[-ArchiveOnly <SwitchParameter>] [-ArchiveTargetDatabase
<DatabaseIdParameter>] [-BadItemLimit <Unlimited>]
[-BatchName <String>] [-Confirm [<SwitchParameter>]]
[-DomainController <Fqdn>] [-DoNotPreserveMailboxSignature
<SwitchParameter>] [-IgnoreRuleLimitErrors
<SwitchParameter>] [-MRSServer <Fqdn>] [-PrimaryOnly
<SwitchParameter>] [-Priority <Normal | High>]
[-Protect <SwitchParameter>] [-Suspend
<SwitchParameter>] [-SuspendComment <String>]
[-SuspendWhenReadyToComplete <SwitchParameter>]
[-TargetDatabase <DatabaseIdParameter>] [-WhatIf
[<SwitchParameter>]]
|
New-MoveRequest -Identity
<MailboxOrMailUserIdParameter> -RemoteCredential
<PSCredential> -RemoteGlobalCatalog <Fqdn>
-RemoteLegacy <SwitchParameter> [-AcceptLargeDataLoss
<SwitchParameter>] [-AllowLargeItems <SwitchParameter>]
[-BadItemLimit <Unlimited>] [-BatchName <String>]
[-Confirm [<SwitchParameter>]] [-DomainController
<Fqdn>] [-IgnoreRuleLimitErrors <SwitchParameter>]
[-MRSServer <Fqdn>] [-Priority <Normal | High>]
[-Protect <SwitchParameter>] [-RemoteTargetDatabase
<String>] [-Suspend <SwitchParameter>] [-SuspendComment
<String>] [-SuspendWhenReadyToComplete
<SwitchParameter>] [-TargetDatabase
<DatabaseIdParameter>] [-TargetDeliveryDomain <Fqdn>]
[-WhatIf [<SwitchParameter>]]
|
New-MoveRequest -Identity
<MailboxOrMailUserIdParameter> -Remote
<SwitchParameter> -RemoteHostName <Fqdn>
[-AcceptLargeDataLoss <SwitchParameter>] [-AllowLargeItems
<SwitchParameter>] [-ArchiveDomain <String>]
[-ArchiveOnly <SwitchParameter>] [-ArchiveTargetDatabase
<DatabaseIdParameter>] [-BadItemLimit <Unlimited>]
[-BatchName <String>] [-Confirm [<SwitchParameter>]]
[-DomainController <Fqdn>] [-IgnoreRuleLimitErrors
<SwitchParameter>] [-MRSServer <Fqdn>] [-PrimaryOnly
<SwitchParameter>] [-Priority <Normal | High>]
[-Protect <SwitchParameter>] [-RemoteCredential
<PSCredential>] [-RemoteGlobalCatalog <Fqdn>]
[-RemoteOrganizationName <String>] [-Suspend
<SwitchParameter>] [-SuspendComment <String>]
[-SuspendWhenReadyToComplete <SwitchParameter>]
[-TargetDatabase <DatabaseIdParameter>]
[-TargetDeliveryDomain <Fqdn>] [-WhatIf
[<SwitchParameter>]]
|
New-MoveRequest -Identity
<MailboxOrMailUserIdParameter> -Outbound
<SwitchParameter> -RemoteHostName <Fqdn>
[-AcceptLargeDataLoss <SwitchParameter>] [-AllowLargeItems
<SwitchParameter>] [-ArchiveDomain <String>]
[-ArchiveOnly <SwitchParameter>] [-BadItemLimit
<Unlimited>] [-BatchName <String>] [-Confirm
[<SwitchParameter>]] [-DomainController <Fqdn>]
[-IgnoreRuleLimitErrors <SwitchParameter>] [-MRSServer
<Fqdn>] [-PrimaryOnly <SwitchParameter>] [-Priority
<Normal | High>] [-Protect <SwitchParameter>]
[-RemoteArchiveTargetDatabase <String>] [-RemoteCredential
<PSCredential>] [-RemoteGlobalCatalog <Fqdn>]
[-RemoteOrganizationName <String>] [-RemoteTargetDatabase
<String>] [-Suspend <SwitchParameter>] [-SuspendComment
<String>] [-SuspendWhenReadyToComplete
<SwitchParameter>] [-TargetDeliveryDomain <Fqdn>]
[-WhatIf [<SwitchParameter>]]
|
Detailed Description
If you move the primary mailbox and archive to separate databases, the databases must be running the same version of Microsoft Exchange Server 2010 Service Pack 1 (SP1) or later.
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 Mailbox 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:
|
||
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 2010 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 AllowLargeItem parameter specifies that the message size limit will not be enforced on the message item during the move operation. A value does have to be specified when you use the AllowLargeItem parameter. |
||
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:
|
||
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
|
||
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. |
||
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. |
||
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. |
||
MRSServer |
Optional |
Microsoft.Exchange.Data.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. Use this parameter only if directed by support personnel. |
||
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 position in the request queue in which to put this request for processing. 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. |
||
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. 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.
|
||
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. For more information, see Understanding Automatic Mailbox Distribution. You can use the following values:
|
||
TargetDeliveryDomain |
Optional |
Microsoft.Exchange.Data.Fqdn |
The TargetDeliveryDomain parameter specifies the FQDN of the external e-mail 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. |
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.
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" |
EXAMPLE 4
This example uses the WhatIf switch to test whether a mailbox is ready to move across forests and if there are any errors within the command. When you use the WhatIf switch, the system performs checks on the mailbox. If the mailbox isn't ready, an error is returned. This command is run on the target forest.
Copy Code | |
---|---|
New-MoveRequest -Identity 'tony@humongousinsurance.com' -Remote -TargetDatabase DB02 -RemoteHostName 'mail.humongousinsurance.com' -RemoteCredential (Get-Credential Atlanta\Administrator) -TargetDeliveryDomain 'contoso.com' -WhatIf |
EXAMPLE 5
This example moves Tony Smith's mailbox into the forest where the command is running. When the move is completed, the new ExternalEmailAddress of the mail user in the source forest will be Tony's proxy address with the SMTP domain contoso.com.
Copy Code | |
---|---|
New-MoveRequest -Identity 'tony@humongousinsurance.com' -Remote -TargetDatabase DB02 -RemoteHostName 'mail.humongousinsurance.com' -RemoteCredential $Cred -TargetDeliveryDomain 'contoso.com' |
EXAMPLE 6
This example pushes Tony Smith's mailbox to the remote forest. Use this command when you initiate the move from the source forest. When initiating moves from the source forest, you must use the RemoteTargetDatabase parameter to specify the database that you're moving the mailbox to. When the move is completed, the new ExternalEmailAddress of the mail user in the source forest will be Tony's proxy address with the SMTP domain mail.contoso.com.
Copy Code | |
---|---|
New-MoveRequest -Identity 'tony@humongousinsurance.com' -Outbound -RemoteTargetDatabase DB03 -RemoteHostName 'CAS01.humongousinsurance.com' -RemoteCredential $Cred -TargetDeliveryDomain 'mail.contoso.com' |
EXAMPLE 7
This example creates a remote move request for all mailboxes on the target forest that begin with the letter a. The request will be suspended after all the initial content is moved, but before the mailbox is locked down and switched over to the new location. The move request will then need to be resumed by using the Resume-MoveRequest cmdlet.
Note: |
---|
By creating a batch, you can create a tag that identifies the mailboxes being moved. Each mailbox will be moved individually when an MRS instance becomes available to perform the move. You can then filter in searches using the BatchName parameter in the Get-MoveRequest cmdlet. |
Copy Code | |
---|---|
Get-MailUser -ANR a* | New-MoveRequest -Remote -RemoteHostName 'mail.humongousinsurance.com' -RemoteCredential $Cred -TargetDeliveryDomain 'contoso.com' -TargetDatabase DB02 -SuspendWhenReadyToComplete -BatchName "Aug28 - To be Completed at 11pm" |
EXAMPLE 8
This example creates a move request processed by the specific Client Access server CAS1.contoso.com, which has MRS installed.
Note: |
---|
The MRSServer parameter is reserved for debugging purposes. Use this parameter only if directed by support personnel. If you use this parameter and the specified server isn't functional, this move request isn't processed. |
Copy Code | |
---|---|
New-MoveRequest -Identity 'tony@humongousinsurance.com' -RemoteHostName 'CAS01.humongousinsurance.com' -Remote -RemoteCredential $Cred -TargetDatabase DB02 -TargetDeliveryDomain 'mail.contoso.com' -MRSServer CAS1.contoso.com |
EXAMPLE 9
This example creates a batch move request that's
suspended for all mailboxes in the target forest where
CustomAttribute1 is set to Monday
. Run this
command when you want to create the move request now, and then
resume it in the evening, when e-mail traffic is low.
Note: |
---|
By creating a batch, you can create a tag that identifies the mailboxes being moved. Each mailbox will be moved individually when an MRS instance becomes available to perform the move. |
Copy Code | |
---|---|
Get-MailUser -Filter {CustomAttribute1 -eq 'Monday'} | New-MoveRequest -RemoteHostName 'mail.humongousinsurance.com' -Remote -RemoteCredential $Cred -TargetDatabase DB01 -TargetDeliveryDomain 'contoso.com' -Suspend -SuspendComment "Resume after 11:00 p.m. PST" -BatchName "MondayMoves_HumongousToContoso" |
EXAMPLE 10
This example moves only Tony Smith's primary mailbox to DB01. The archive isn't moved.
Copy Code | |
---|---|
New-MoveRequest -Identity 'tony@alpineskihouse.com' -PrimaryOnly -TargetDatabase "DB01" |
EXAMPLE 11
This example moves only Tony Smith's archive mailbox to DB03. The primary mailbox isn't moved.
Copy Code | |
---|---|
New-MoveRequest -Identity 'tony@alpineskihouse.com' -ArchiveOnly -ArchiveTargetDatabase "DB03" |
EXAMPLE 12
This example moves Ayla's primary mailbox and archive to separate databases. The primary database is moved to DB01 and the archive is moved to DB03.
Copy Code | |
---|---|
New-MoveRequest -Identity 'ayla@humongousinsurance.com' -TargetDatabase DB01 -ArchiveTargetDatabase -DB03 |
EXAMPLE 13
This example moves Kweku's primary mailbox to mailbox database DB01 and sets the bad item limit to 100. To set such a large bad item limit, the AcceptLargeDataLoss parameter must be used.
Copy Code | |
---|---|
New-MoveRequest -Identity 'Kweku' -PrimaryOnly -TargetDatabase "DB01" -BadItemLimit 100 -AcceptLargeDataLoss |