Topic Last Modified: 2013-01-17

Use the New-PublicFolderMoveRequest cmdlet to begin the process of moving public folder contents between public folder mailboxes. Moving public folders only moves the physical contents of the public folder; it doesn't change the logical hierarchy. When the move request is completed, you must run the Remove-PublicFolderMoveRequest cmdlet to remove the request or wait until the time specified in the CompletedRequestAgeLimit parameter has passed. The request must be removed before you can run another move request.

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

Syntax

New-PublicFolderMoveRequest -Folders <PublicFolderIdParameter[]> -TargetMailbox <MailboxIdParameter> [-AcceptLargeDataLoss <SwitchParameter>] [-BadItemLimit <Unlimited>] [-BatchName <String>] [-CompletedRequestAgeLimit <Unlimited>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-LargeItemLimit <Unlimited>] [-Name <String>] [-Organization <OrganizationIdParameter>] [-Priority <Lowest | Lower | Low | Normal | High | Higher | Highest | Emergency>] [-Suspend <SwitchParameter>] [-SuspendComment <String>] [-SuspendWhenReadyToComplete <SwitchParameter>] [-WhatIf [<SwitchParameter>]] [-WorkloadType <None | Local | Onboarding | Offboarding | TenantUpgrade | LoadBalancing | Emergency>]

Examples

EXAMPLE 1

This example begins the move request for the public folder \CustomerEngagements from public folder mailbox DeveloperReports to DeveloperReports01.

Copy Code
New-PublicFolderMoveRequest -Folders \DeveloperReports\CustomerEngagements -TargetMailbox DeveloperReports01

EXAMPLE 2

This example begins the move request for public folders under the \Dev public folder branch to the target public folder mailbox DeveloperReports01.

Note:
You can also move a branch of public folders by using the Move-PublicFolderBranch.ps1 script.
Copy Code
New-PublicFolderMoveRequest -Folders \Dev\CustomerEngagements,\Dev\RequestsforChange,\Dev\Usability -TargetMailbox DeveloperReports01

Detailed Description

The New-PublicFolderMoveRequest cmdlet moves public folders from a source public folder mailbox to a target public folder mailbox. To move the public folder mailbox to another mailbox database, use the New-MoveRequest cmdlet. To ensure that this folder is already in the target public folder mailbox, run the Update-PublicFolderMailbox cmdlet against the target public folder mailbox. You can only perform one move request at a time. You can also move public folders by using the Move-PublicFolderBranch.ps1 script.

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 "Public folders" entry in the Sharing and Collaboration Permissions topic.

Parameters

Parameter Required Type Description

Folders

Required

Microsoft.Exchange.Configuration.Tasks.PublicFolderIdParameter[]

The Folders parameter specifies the public folders that you want to move. If the public folder has child public folders, child public folders won't be moved unless you explicitly state them in the command. You can move multiple public folders by separating them with a comma, for example, \Dev\CustomerEngagements,\Dev\RequestsforChange,\Dev\Usability.

TargetMailbox

Required

Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter

The TargetMailbox parameter specifies the target public folder mailbox that you want to move the public folders to. This parameter accepts the following:

  • Alias

  • Canonical DN

  • Display name

  • Distinguished name (DN)

  • Domain\Account

  • GUID

  • ImmutableId

  • SMTP address

  • User principal name (UPN)

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 mailbox or can't be written to the target mailbox. Corrupted items won't be available in the destination mailbox.

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 public folders. You can then use the name in the BatchName parameter as a search string when you use the Get-PublicFolderMoveRequest cmdlet.

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.

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 public folder. 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.

Name

Optional

System.String

The Name parameter specifies the name of the public folder move request. If you don't specify a name, the default name is PublicFolderMove.

Organization

Optional

Microsoft.Exchange.Configuration.Tasks.OrganizationIdParameter

The Organization parameter is reserved for internal Microsoft use.

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.

This parameter accepts the following:

  • Lowest

  • Lower

  • Low

  • Normal

  • High

  • Higher

  • Highest

  • Emergency

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 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-PublicFolderMoveRequest command.

WhatIf

Optional

System.Management.Automation.SwitchParameter

The WhatIf switch instructs the command to simulate the actions that it would take on the object. By using the WhatIf switch, you can view what changes would occur without having to apply any of those changes. 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.