Applies to: Exchange Server 2013

Topic Last Modified: 2012-08-14

Use the New-PublicFolderMigrationRequest cmdlet to begin the process of migrating public folders from Microsoft Exchange Server 2007 or Exchange Server 2010 to Exchange Server 2013.

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

Syntax

New-PublicFolderMigrationRequest -SourceDatabase <DatabaseIdParameter> <COMMON PARAMETERS>
New-PublicFolderMigrationRequest -OutlookAnywhereHostName <Fqdn> -RemoteCredential <PSCredential> -RemoteMailboxLegacyDN <String> -RemoteMailboxServerLegacyDN <String> [-AuthenticationMethod <Basic | Digest | Ntlm | Fba | WindowsIntegrated | LiveIdFba | LiveIdBasic | WSSecurity | Certificate | NegoEx | OAuth | Adfs | Kerberos | Negotiate | LiveIdNegotiate | Misconfigured>] [-Organization <OrganizationIdParameter>] <COMMON PARAMETERS>
COMMON PARAMETERS: [-AcceptLargeDataLoss <SwitchParameter>] [-BadItemLimit <Unlimited>] [-BatchName <String>] [-CompletedRequestAgeLimit <Unlimited>] [-Confirm [<SwitchParameter>]] [-CSVData <Byte[]>] [-CSVStream <Stream>] [-DomainController <Fqdn>] [-LargeItemLimit <Unlimited>] [-Name <String>] [-Priority <Lowest | Lower | Low | Normal | High | Higher | Highest | Emergency>] [-SkipMerging <SkippableMergeComponent[]>] [-Suspend <SwitchParameter>] [-SuspendComment <String>] [-WhatIf [<SwitchParameter>]] [-WorkloadType <None | Local | Onboarding | Offboarding | TenantUpgrade | LoadBalancing | Emergency>]

Examples

EXAMPLE 1

This example creates a public folder migration request from the Exchange 2010 source public folder database PFDB01 and uses the CSVData.csv file that was created using the Export-PublicFolderStatistics.ps1 script. For more information, see Migrate Public Folders to Exchange 2013 From Previous Versions.

Copy Code
New-PublicFolderMigrationRequest -SourceDatabase PFDB01 -CSVData (Get-Content C:\PFMigration\CSVData.csv -Encoding Byte)

Detailed Description

Migrating public folders is a multi-step process. For more information before you attempt a public folder migration, see Migrate Public Folders to Exchange 2013 From Previous Versions.

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

OutlookAnywhereHostName

Required

Microsoft.Exchange.Data.Fqdn

This parameter is reserved for internal Microsoft use.

RemoteCredential

Required

System.Management.Automation.PSCredential

The RemoteCredential parameter specifies an administrator who has permission to perform the migration request, 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.

You must use this parameter in conjunction with the RemoteMailboxServerLegacyDN parameter.

RemoteMailboxLegacyDN

Required

System.String

The RemoteMailboxLegacyDN parameter specifies the mailbox of the remote credentials specified in the RemoteCredential parameter.

You must use this parameter in conjunction with the RemoteMailboxServerLegacyDN parameter.

RemoteMailboxServerLegacyDN

Required

System.String

The RemoteMailboxServerLegacyDN parameter specifies the server legacy distinguished name (DN) of the back-end server. To find the LegacyExchangeServerDN property, run the following command: Get-ExchangeServer <Identity> | Format-List LegacyExchangeServerDN.

SourceDatabase

Required

Microsoft.Exchange.Configuration.Tasks.DatabaseIdParameter

The SourceDatabase parameter specifies the identity of the database on which the public folders that are being migrated resides. You can use the following values:

  • GUID of the database

  • Database name

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.

AuthenticationMethod

Optional

Microsoft.Exchange.Data.Directory.SystemConfiguration.AuthenticationMethod

This parameter is reserved for internal Microsoft use.

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 the public folder migration batch. You can use the BatchName parameter as a search string when you use the Get-PublicFolderMigrationRequest cmdlet.

CompletedRequestAgeLimit

Optional

Microsoft.Exchange.Data.Unlimited

The CompletedRequestAgeLimit parameter specifies how long the request is 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 can be used to suppress the confirmation prompt that appears by default when this cmdlet is run. To suppress the confirmation prompt, use the syntax -Confirm:$False. You must include a colon ( : ) in the syntax.

CSVData

Optional

System.Byte[]

The CSVData parameter specifies the mapping file output generated by the PublicFoldertoMailboxMapGenerator.ps1 script. Use this parameter for local migrations. This parameter can't be used in conjunction with the CSVStream parameter. You must use this parameter if you don't use CSVStream parameter.

CSVStream

Optional

System.IO.Stream

The CSVStream parameter specifies the mapping file output generated by the PublicFoldertoMailboxMapGenerator.ps1 script. Use this parameter for remote migrations. This parameter can't be used in conjunction with the CSVData parameter. You must use this parameter if you don't use CSVData parameter.

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 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 parameter value only when large items are encountered.

Name

Optional

System.String

The Name parameter specifies the name of the public folder migration request.

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 priority setting that you want to use for the migration to be completed. This prioritizes against any Microsoft Exchange Mailbox Replication service (MRS) process. This parameter accepts the following values:

  • Lowest

  • Lower

  • Low

  • Normal

  • High

  • Higher

  • Highest

  • Emergency

If you don't specify a value, the default value is Normal, which means that the request is prioritized by the time and date it was accepted into the MRS queue.

SkipMerging

Optional

Microsoft.Exchange.Management.RecipientTasks.SkippableMergeComponent[]

The SkipMerging parameter specifies whether certain stages of a public folder migration are skipped for debugging purposes. Don't use this parameter unless directed to do so by a Microsoft Customer Service and Support 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.

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

The WorkloadType parameter specifies the type of request and the purpose for being performed. This information is used by Exchange. This parameter accepts the following values:

  • None

  • Local

  • Onboarding

  • Offboarding

  • TenantUpgrade

  • LoadBalancing

  • Emergency

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.