Welcome to the Public Folder Migration Guide From On-Premises Exchange 2010 SP1 or later to Public Folders on Microsoft 365 in a non-hybrid deployment. This document will walk you through the environment preparation and MigrationWiz steps necessary to perform your migration.
We recommend reading through the complete guide before starting the migration to understand the process, timeline, and prerequisites. You will see notes called out throughout the guide; pay attention to these, as they may provide information to avoid migration failure.
Complete each step in the order listed. If additional instructions are required, a link to a corresponding Knowledge Base article is provided.
MigrationWiz
MigrationWiz is a migration tool, not a syncing tool. If changes are made at the source after migration, they will not sync to the destination, nor will changes made at the destination sync to the source. We do not have “live” monitoring of changes (as with a sync agent) and we cannot handle scenarios such as conflict resolution without user interaction.
MigrationWiz supports the capability to share migration projects across a Workgroup. When the Project Sharing feature is turned on, all Agents besides those who are Inactive can view all migration projects. For more information, visit Project Sharing in MigrationWiz.
Prerequisites
Please consider the information below before choosing this migration type.
Licensing
Purchase Public Folder licenses. To obtain an estimate of the number of Public Folder migration licenses required for your migration project, follow the directions in Estimating the Required Public Folder Migration License Count.
Purchase licenses by following the steps below.
- Sign in to your BitTitan account.
- In the top navigation bar, click Purchase.
- Click the Select button and choose the license type you need.
- Enter the number of licenses you want to purchase. Click Buy Now.
- Enter a Billing address if applicable.
- Click Next.
- Review the Order Summary and enter a payment method.
- Click Place Your Order.
Licenses are released once payment has been received:
- Licenses are available immediately upon payment if you purchase via credit card.
- If you purchase via wire transfer (100+ licenses), the licenses will be available once payment is received and accepted.
- We do not accept purchase orders because of processing overhead.
In both cases, you will be notified by email that payment has been accepted and licenses are available in your account upon notification.
For more information on licensing, including coupon redemption and other licensing types, see our Licensing FAQ.
Limitations
Consider the following limitations when performing this type of migration.
- We are not able to support migrations with two-factor or multifactor authentication.
- App password usage, MFA/2FA, and ADFS are not supported for the migration admin account/service account being used by this endpoint.
- Exchange Web Services (EWS) must be enabled in both the source and destination for this migration type.
-
BitTitan support does not offer post-migration guidance regarding the management and resolution of public folders on the source environment.
-
MigrationWiz does not migrate SMTP addresses for mail-enabled Public Folders. They can be exported and imported using the scripts supplied here: Migrating mail-enabled Public Folder email addresses. It is highly recommended to run the export script before migrating so you can ensure the CSV file created contains the proper information.
-
Before beginning your migration, review the path mail flow takes for entering your environment when mail is sent to mail-enabled public folders, and ensure the items will be delivered to the mail-enabled folders in Microsoft 365 once the migration is complete. MigrationWiz does not configure anything regarding mail flow, and assisting with mail flow issues is beyond the scope of BitTitan support can assist with.
-
Public Folder migrations can take some time to properly configure endpoints. We recommend configuring the project endpoints a week or more before the migration to ensure they are ready for use.
Migrated Items
Please click the bars below to check the migrated and non-migrated items. We are constantly working to create a better migration experience for you so these items may change over time.
Public Folders can only be migrated to other public folders or shared mailboxes. We do not migrate Public Folders to individual user mailboxes or Microsoft 365 Group mailboxes or vice versa. Mail-enabled public folders are not supported for destination endpoints that are Exchange On-Premise and will need to be mail-enabled manually. For additional details about items that are and are not migrated from public folders, see our Migrated and Not Migrated Items article.
Exchange 2010 SP1+ & Microsoft 365
Migrated
- Public Folders
- Subfolders
- User Permissions
- Mail-Enabled Security Group Permissions (Default and Anonymous User Permissions are not supported)
Not Migrated
- Rules
Not Migrated in any Exchange Instance
- Email templates
- Email flags (if the destination is G Suite)
- Safe Sender/Block Lists
- Mail Settings
- Standalone documents stored in Mailbox Folders or Public Folders (Example: IPM.Document item types)
- System Public Folders
- StickyNote folders
Not Migrated in Exchange 2007: Public Folder Permissions
Special Considerations for this Migration
If your migration involves more than 1,000 public folders and/or more than 20GB of data, then there are additional steps that are required for a successful migration, and BitTitan Support will need to assist you. These steps are not required if your migration is smaller than that, and you may only require one or the other. Make sure you review these steps before beginning your migration.
Order of Operations
You must first successfully complete a Verify Credentials pass in your project before BitTitan Support can assist with these steps. Follow the steps starting at Prepare Source Environment through Run Verify Credentials below, then contact BitTitan Support.
Open a Ticket with BitTitan Support
Once you have completed the Run Verify Credentials step, open a ticket with BitTitan Support by following the instructions in How do I get support for your products? Make sure to include the following information in your ticket:
- The subject of the ticket should be “Public Folder SPLIT or Mapping Scripts Needed”
- Make sure to attach the folders.csv file to the ticket from the step above for migrating more than 1,000 folders if one is required.
If you have already submitted a ticket for another issue, simply add the new information to that existing ticket.
If migrating more than 1,000 folders in total (including sub-folders), the folders will need to be SPLIT into multiple line items in your MigrationWiz project. This process increases the efficiency of the migration in case there are specific folders that may cause issues during the migration, and to allow folders to be migrated in parallel line items instead of a single one. If you are migrating less than 1,000 folders for the project, this steps is not required.
- First, run the following PowerShell command against your source Exchange server. This will generate a file called folders.csv that will be used to create the SPLIT project.
Get-PublicFolder -Recurse -Resultsize Unlimited | select Identity | Export-Csv -Encoding Unicode C:\folders.csv
- Once you have that CSV, follow these steps:
- Open the folders.csv file and remove the folder paths for any folders that should not be included in the migration. After you have confirmed the folder paths listed in the folders.csv file are the ones to be migrated, save the file (do not change the encoding), attach the file to the ticket, and indicate this step has been completed.
- Once the folders.csv file has been used to create a secondary SPLIT project (it will have _SPLIT included in the name), this will be the project used to migrate your public folders moving forward.
SPLIT Folder Paths
Only folder paths present in the folders.csv file used to create the SPLIT project will be migrated. Any new folders added at the source after the creation of the SPLIT project will need to be manually added. For suggestions on working within this restriction, see Best Practices for migrating Public Folders.When migrating more than 20GB of data, public folder mapping scripts will need to be created for the project by BitTitan Support. These scripts are to be run against the Microsoft 365 destination tenant before migrating any data. This is to avoid the automatic Microsoft 365 auto-split process for Public Folder Mailboxes when they have reached their max allowed storage quota. For more information, see How do I migrate more than 20GB of Public folder data to Microsoft 365? If the total size of the migration is less than 20GB for the project, this step is not required.
Running Public Folder Mapping Scripts
Once you have received the public folder mapping scripts from BitTitan Support, review the scripts to make sure the folder hierarchy the script creates is accurate. If not, contact Customer Support for additional assistance.
If you have manually created or migrated any of the public folders in the destination before receiving the scripts from BitTitan Support, they will need to be removed BEFORE running the mapping scripts. This does not include removing the public folder Primary Hierarchy mailbox by default, only the public folders.
The scripts will need to be run against the destination tenant in the following order BEFORE migrating any data.
Important
If the “Owner” permission has not been granted at the root of the public folder tree for the destination administrator account, then it will need to be added BEFORE running the Provision-PublicFoldersToMailboxes script.
Create-PublicFolderMailboxes
Provision-PublicFoldersToMailboxes
When running the mapping scripts, open the PowerShell session as administrator. You will be prompted for credentials to connect to Exchange Online, where you must use the same administrator credentials that you are using for the destination endpoint in your public folder migration project. The scripts will only create the mail-type public folders (IPF.Note). The other folder types will be created by MigrationWiz.
For folders with / in their names, each will be replaced with _ in the script, as well as any public folders created by MigrationWiz. This is unavoidable and is required by EWS.
Important Note: There are times when the size of the script named Provision-PublicFoldersToMailboxes may be too large to run in a single session due to Powershell timeouts. If you break this script into smaller scripts to run separately, save the copies of the scripts with the encoding of UTF-8 with BOM only. If you do not save with this encoding, umlauts or other accent characters will not be created correctly when the public folders are created using the mapping scripts.
After completing the public folder mapping, create a PowerShell session to your destination tenant for Exchange Online and run the following commands. If you don't, it may cause quota-exceeded or size-exceeded errors in your project during the migration. The settings can be put back to where you want after the migration is complete.
Increase Public Folder Size Quotas
- Enter the following command and press Enter. This will show you the current public folder limits:
Get-OrganizationConfig | fl *DefaultPublicFolder*
- Enter the following command and press Enter. This will set the new quota and issue a warning quota to Unlimited:
Set-OrganizationConfig -DefaultPublicFolderProhibitPostQuota Unlimited -DefaultPublicFolderIssueWarningQuota Unlimited
Increase the Max Send and Max Receive Quotas for Public Folder Mailboxes
- Enter the following command and press Enter. This will show you the current limits set on the public folder mailboxes:
Get-Mailbox -PublicFolder | fl Name,MaxSendSize,MaxSendSize
- Enter the following command and press Enter. This will increase the MaxSendSize and MaxReceiveSize to the maximum allowed limits. (If there are items at the source that are larger than 150 MB, they will not migrate.)
Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -MaxReceiveSize 150MB -MaxSendSize 150MB
Prepare the Source Environment
- Grant admin permissions
- Break up large folders (if required)
Grant Admin Permissions
- Grant elevated 'Organization Management' administrator role to the migrating administrator account. Refer to Assigning the Elevated Admin Role 'Organization Management' to a Public Folder Account for Migration.
- Ensure that the source administrator account has a mailbox enabled and is located on the same Exchange server as the source Public Folder database or mailbox.
- Ensure that the migrating administrator account has permission in all Public Folders (Read-only or "Reviewer" access rights should be enough). For more information, see Granting Necessary Permissions to Source Public Folders.
Break up Large Folders
You will want to perform these tasks first before beginning your migration. If you are migrating more than 1,000 folders (including subfolders) and/or more than 20GB of data, break these folders up before contacting BitTitan Support.
- Split up large Public Folders: if any source Public Folders contain more than 100,000 items (if Source = O365, Exchange 2010 or later), these should be split into multiple Public Folders as they can cause migrations to be held up with processing of the high number of items. Breaking up these folders can help with faster migration speeds. For more information, see Finding Public Folder Size for Migration.
- Any individual Public Folders that are over 20GB in size should be split up into smaller folders of 20GB or less. Failure to complete this step can negatively impact migration performance and speed.
Prepare Destination Environment
This guide presumes that your Microsoft 365 tenant and users have already been created, and licenses have been assigned to enable the user mailboxes in Microsoft 365. If not, stop here and complete the Microsoft 365 setup as necessary, then continue with the following steps.
- Confirm the destination administrator account has a Microsoft 365 license and an active mailbox.
- Meet Modern Authentication Requirements.
- Create the first Public Folder mailbox.
- Run PowerShell commands
Modern Authentication Requirements
The steps listed in the Obtain Client and Tenant ID Settings for Mailbox and Exchange Online Migrations section of the Authentication Methods Migrations KB apply to both the source and destination tenant when they are Exchange Online, in regards to Exchange Web Services (EWS) in mailbox, archive mailbox, and public folder projects. Use a Global Administrator for the configuration steps.
Please review the documentation before preparing the destination.
Create a Public Folder Mailbox
If you have not created the first Public Folder mailbox in the tenant, follow the steps below. The following steps need to be used to create the first public folder mailbox correctly (this will be the Primary Hierarchy mailbox) to use MigrationWiz for this project type. It would be best to have your MigrationWiz project already created for testing. Those steps can be found below.
Do not name the primary mailbox the same as any public folder mailbox
or database on the source On-Premise Exchange server.
This step is required regardless of migration project size.
- Log in to the Microsoft 365 portal as the user in the migration project. Make sure the user is an administrator. (You can easily tell, as there will be an Admin tab present in the upper right menu). If the user is not an admin, then assign the user the global admin role.
- From the Admin tab, select Exchange. Click on the Public Folder option in the left panel. Click on the Public Folder Mailboxes topic in the top menu.
- Create the first public folder mailbox (this will become the primary).
- Once the first public folder mailbox is created, click on Public Folders and then ... . Add the destination administrator account being used in the project as the Owner. If there is a box for applying the permissions to sub-folders, make sure it is checked before saving.
- Create a test public folder in the administrator UI where you just added the permissions.
- Set DefaultPublicFolderMailbox so that the destination administrator account mailbox being used is pointing at the newly created public folder mailbox in the destination tenant using the following PowerShell command:
Set-Mailbox –Identity migrationwiz@domain.onmicrosoft.com –DefaultPublicFolderMailbox 365PFMBX
Replace migrationwiz@domain.onmicrosoft.com with the destination admin account being used and 365PFMBX with the name of the public folder mailbox you just created.
- If logged into Microsoft 365 with a destination administrator account being used in the project, then log out.
- After 15-30 minutes, log back into Microsoft 365 with the destination admin account and open its OWA mailbox.
- Attempt to add the test folder created in step 5 as a favorite in OWA. This is done by right-clicking on Favorites or Folders.
- If step 9 is successful, attempt to Verify Credentials in the public folder MigrationWiz project by selecting your line item and then select Verify Credentials from the Start Menu.
- If the Verify Credentials pass fails, walk through the above steps again to ensure you did not miss a step. If it continues to fail, contact BitTitan Customer Support.
You will need more than one public folder mailbox if migrating over 20 GB of data. See Large Migration Steps for more details.
PowerShell Commands
After all public folder mailboxes that are required for this migration have been created, you will want to increase the maximum send and receive limits and increase the individual public folder size quotas for migration. Run the following PowerShell commands in the destination tenant:Set-OrganizationConfig -DefaultPublicFolderProhibitPostQuota Unlimited -DefaultPublicFolderIssueWarningQuota Unlimited
Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -MaxReceiveSize 150MB -MaxSendSize 150MB
MigrationWiz Steps
The following steps will be performed in MigrationWiz.
- Create project
- Create endpoints
- Add items
- Run Verify Credentials
- Set Advanced Options
Create a Public Folder migration project. Read the MigrationWiz Projects article for more information on project types and troubleshooting.
- Click the Go to My Projects button.
- Click the Create Project button.
- Select Public Folder as the migration type.
- Click Next Step.
- Enter a Project name and select a Customer.
- Click Next Step.
Set the source and destination Endpoints (select Exchange Server Public Folder for the source Endpoint, and Office 365 Public Folder for the destination Endpoint). If your Destination endpoint is GCC High, select Office 365 Public Folders (US Government) for that endpoint.
Important
When configuring the destination endpoint, do not forget to complete the client ID, the tenant ID, and the Region of Destination Tenant fields for the destination endpoint, otherwise, you cannot save your project migration.
Once the information has been provided for both, the source and/or destination endpoint, and the customer selects Save and Go to Summary, MigrationWiz performs an endpoint validation check for Microsoft 365 endpoint.
This validation tests the administrator credentials entered into the project and the Modern Authentication setup only. If there is an issue, the screen redirects to the endpoint and provides an error message or flyout that can be selected for more information regarding the error.
Common Errors when Configuring Your Endpoint
For more information, review the AADSTS700016, AADSTS90002, and ADDSTS50126 issues on the Common Errors Using Modern Authentication page.
Add the items you wish to migrate.
- Select Add.
- Select Quick Add.
- Enter a forward slash ( / ) in the Root Folder Path field.
We recommend this because it will migrate all Public Folders, and you will only need one Public Folder license per 10GB of data, regardless of the number of top-level Public Folders. Refer to Migrating all Public Folders from the Root Level Down
If targeting specific source folders for the migration, please add a folder filter to the line item to migrate these specific folders. For information on how to filter folders, please see our Folder Filtering & Mapping in MigrationWiz article.
Now that your project has been created and a (/) has been added for the Root Path, or the specific folders to be migrated have been added, run Verify Credentials from the Start menu in the MigrationWiz project.
Large migration steps
If your migration includes more than 1,000 folders (including subfolders) or more than 20GB of data to be migrated, contact BitTitan customer support at this time, and follow the instructions laid out below based on which situation applies to your project.
Advanced Options
Important
The advanced option steps listed below should be followed in the order that they are entered as they are required for this migration scenario.
Support Tab
- RemoveFilterBasedOnFolderType=1 This support option is required if Public Folders contain items other than mail, such as calendar and contact items. This option stays in place for the entire migration process.
Default Options for Microsoft 365 Endpoints
By default, some fields are view-only. In other words, you cannot edit or remove them from the support options page. To edit them, you need to edit the source or destination endpoint of your project.
Among these default options, you can find ModernAuthClientIdExport, ModernAuthTenantIdExport, ModernAuthClientIdImport, and ModernAuthTenantIdImport.
The support options above are required when configuring your endpoint.
Warning
You cannot update the default Advanced Options, in case you try to modify or add new ones the following message arises.
Source/Destination Tab
Under Source/Destination, set the value for Migrate Permissions For from New Folders Only to New folders and existing folders. This is required because Public Folder mapping scripts have been created. See Migrating Public Folder Permissions
Performance Tab
- Set value for Licensing/Maximum licenses to consume per item per pass licensing count. Default = 1 This allows up to 10GB to be migrated. Example: If migrating all Public Folders, using the forward-slash ( / ), and the total data size = 78GB, then increase this value to 8 (otherwise the migration will pause at 10GB). See MigrationWiz Licenses.
- Set your Preferred Region of the Destination Tenant. For the most optimum migration speeds, select the Data Center that is closest to your Microsoft 365 destination tenant. Refer to MigrationWiz - General - FAQ.
Perform Migration
You will now begin your migration. This will occur in multiple phases. Each migration pass has additional required advanced options and will be submitted as a Full Migration. Each pass must be completed successfully before moving on to the next migration pass.
- First migration pass
- Second migration pass
- Security group permissions migration pass
- Mail-enabled public folders
First Migration Pass Steps
The first migration for this scenario usually takes more time to complete than the subsequent passes, and completes the following tasks:
- Folder and file/item discovery
- Migrate user folder permissions if a match can be found. For more information on the requirements for migrating user permissions, see Migrating Public Folder Permissions
- Mail-enabling of migrated folders for any found as mail-enabled at the source
Additional Advanced Options
Set first pass Project Advanced Options (this is considered your pre-stage pass as the older items will be migrated first).
Public folders are generally much larger than individual mailboxes. This means that the migration will run for a longer period and that there is more possibility of errors during migration due to simple connection problems, maintenance issues, or other intermittent, infrequent problems. These intermittent problems cause MigrationWiz to focus only on the first part of the data (e.g., the first 25GB) because every time MigrationWiz starts a (Full/Delta Pass) migration, it has to check if any of the items have changed or have not been previously migrated. To avoid this, follow the steps below.
Support Tab
- MaintainWatermarkCompletionState=1
Filtering Tab
- Select By Date.
- Check box Only migrate items older than the specified date.
- Set date range (month, day, hour, minute) for items to migrate. We suggest migrating items older than six months. Dates will be calculated by the most recent modification date.
Perform the First Migration Pass
Perform the first pass for items older than 6 months by running a Full Migration from the Start menu.
Second Migration Pass Steps
The second migration pass will migrate data only. No permissions will be migrated and no mail-enabling of migrated folders will occur.
Additional Advanced Options
Support Tab
- Remove MaintainWatermarkCompletionState=1
- Add SkipImportFolderWhenPublicFolderExists=1
- Select By Date
- Check box Only migrate items newer than the specified date
- Set date range (month, day, hour, minute) for items to migrate. This date should be the same date and time used for the first migration pass
Perform the Second Migration Pass
Perform a second pass for items newer than 6 months by running a Full Migration from the Start menu.
Security Group Permissions Migration Pass
This pass will migrate mail-enabled security group permissions if an existing match can be found in the destination. Matches are searched for by the Primary SMTP address of the security group. If you do not run this pass, none of the security group Permissions will migrate. If you do not have any security group permissions, this migration pass can be skipped. For more information on Security Group permissions, see Allowing Security Groups Permissions to be Migrated During a Public Folder Migration Project
Additional Advanced Options
Support Tab
- Remove SkipImportFolderWhenPublicFolderExists=1
- Add AllowAllMailboxTypesForPFPermissions=1
Perform Migration Pass for Security Group Permissions
Perform a pass for migrating security group permissions by running a Full Migration from the Start menu.
Mail-Enabled Public Folders
Prerequisites
Before this point, mail flow in your environment should have been scoped and/or tested so that mail can be successfully delivered to your mail-enabled public folders in the destination tenant after the steps for mail-enabling have been completed below.
- After the migrated Public Folders have been mail-enabled in Microsoft 365, you can use the scripts supplied here to export and import the SMTP addresses for them: Migrating mail-enabled Public Folder email addresses.
- If the mail-enabled Public Folders need to accept mail from external domains, you will need to run the following PowerShell command against the destination tenant.
Get-PublicFolder -Recurse -ResultSize Unlimited | ? {$_.MailEnabled -eq $True} | Add-PublicFolderClientPermission -User Anonymous -AccessRights CreateItems
- Change your primary domain type in Microsoft 365 from Authoritative to Internal Relay for the domains being used in mail-enabled Public Folder email addresses. Without setting this, Microsoft 365 bounces the message before it even checks whether a valid Public Folder email address exists.
Mail Flow
Mail flow changes can take time to propagate through the new tenant. If the mail flow to the mail-enabled Public Folders in the destination tenant is not working after an hour or two, you will need to contact Microsoft to resolve the mail flow issues. When the mail-enabled Public Folder is still receiving emails at the source and is not forwarding them to the destination, you can run another full migration pass to migrate those items over to the destination after mail flow issues have been resolved for the destination tenant.
Post-Migration
Request the migration statistics. Click the bar chart icon on the MigrationWiz dashboard to receive an email containing all the project migration statistics.