Commands › Exchange Online

New-PublicFolderMoveRequest

Exchange Online ExchangeOnlineManagement New-*

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. Be aware that the target public folder mailbox wis locked while the move request is active. For more information, see the Descrip

Quick start script

# New-PublicFolderMoveRequest — 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-PublicFolderMoveRequest
$before | Format-List

# 3. Make the change (dry run first)
New-PublicFolderMoveRequest -Folders <PublicFolderIdParameter[]> -TargetMailbox <MailboxIdParameter> -WhatIf
New-PublicFolderMoveRequest -Folders <PublicFolderIdParameter[]> -TargetMailbox <MailboxIdParameter>

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

Syntax

New-PublicFolderMoveRequest -Folders <PublicFolderIdParameter[]> -TargetMailbox <MailboxIdParameter>
 [-AcceptLargeDataLoss]
 [-AllowLargeItems]
 [-BadItemLimit <Unlimited>]
 [-CompletedRequestAgeLimit <Unlimited>]
 [-Confirm]
 [-DomainController <Fqdn>]
 [-InternalFlags <InternalMrsFlag[]>]
 [-Name <String>]
 [[-Organization] <OrganizationIdParameter>]
 [-Priority <RequestPriority>]
 [-RequestExpiryInterval <Unlimited>]
 [-Suspend]
 [-SuspendComment <String>]
 [-SuspendWhenReadyToComplete]
 [-WhatIf]
 [-WorkloadType <RequestWorkloadType>]
 [<CommonParameters>]

Parameters (18)

ParameterTypeRequiredWhat it controls
-Folders PublicFolderIdParameter[] yes The Folders parameter specifies the public folders that you want to move. If the public folder has child public folders, these child public folders aren't moved unless you explicitly state them in the command. You...
-TargetMailbox MailboxIdParameter yes The TargetMailbox parameter specifies the target public folder mailbox that you want to move the public folders to. You can use any value that uniquely identifies the mailbox. For example:
-AcceptLargeDataLoss SwitchParameter The AcceptLargeDataLoss switch specifies that 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 The AllowLargeItems switch specifies that you can move large items only when they're encountered. You don't need to specify a value with this switch.
-BadItemLimit 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...
-CompletedRequestAgeLimit Unlimited The CompletedRequestAgeLimit parameter specifies how long the request is kept after completion before being automatically removed. The default value for this parameter 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 functional only in on-premises Exchange.
-InternalFlags InternalMrsFlag[] The InternalFlags parameter specifies the optional steps in the request. This parameter is used primarily for debugging purposes.
-Name 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 OrganizationIdParameter This parameter is available only in the cloud-based service.
-Priority RequestPriority 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...
-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...
-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 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 The WorkloadType parameter is reserved for internal Microsoft use.

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