Public Folder from Microsoft 365 to Microsoft 365 - Migration Guide


Welcome to the Public Folder Migration Guide From Microsoft 365 to Microsoft 365. 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. There are some notes called out throughout the guide. These are important steps or directions that may break the migration if not followed. Complete each step in the order listed. If additional instructions are required, a link to a corresponding Knowledge Base article is provided.

BitTitan support does not offer post-migration guidance regarding the management and resolution of public folders on the source environment.


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.

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 prior to migrating so you can ensure the csv file created contains the proper information.


It is highly recommended that you review the path mail flow takes for entering your environment when mail is sent to mail-enabled public folders and to 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 BitTitan support can assist with.

To see what items are included in the migration, see Migrated & Not Migrated Items.


MigrationWiz is not a sync tool. Items updated at the source mid-migration will not be updated at the destination.

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.

We are not able to support migrations with two-factor or multifactor authentication. 

Special Considerations For This Migration

Only perform the steps in the dropdown lists below if your project corresponds with the conditions described. If either of the below conditions apply, you will need assistance from BitTitan support to complete the steps. The steps listed below are two separate things that do not necessarily rely on each other; however, both may be required to be performed before starting your migration.


You must first successfully complete a Verify Credentials pass in your project before BitTitan Support can assist with these steps. This can be accomplished by following the steps starting at Prepare Destination Environment through Run Verify Credentials below.

If migrating more than 1,000 folders (including sub-folders) in the project

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) and 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 after. For suggestions on working within this restriction, see Best Practices for migrating Public Folders.
If migrating more than 20GB of data for the project


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 due to migrating more than 20GB in your project, it is recommended that you review the scripts for accuracy of the folder hierarchy being created with the scripts. Should you have any questions, please do not hesitate to reach out for 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 first 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 ran against the destination tenant in the following order BEFORE migrating any data. Note: 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.

1. Create-PublicFolderMailboxes
2. 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 the size of the script named Provision-PublicFoldersToMailboxes may be too large to run in a single session due to Powershell timeouts. If you breakup this script into smaller scripts to run separately, save the copies of the scripts with 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 you have successfully run the public folder mapping scripts against the destination tenant:

  • Create a Powershell session to your destination tenant for Exchange Online and run the following commands. Without doing so 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

    1. Enter the following command and press Enter. This will show you the current public folder limits:
      Get-OrganizationConfig | fl *DefaultPublicFolder*
    2. Enter the following command and press Enter. This will set the new quota and issue warning quota to Unlimited:
      Set-OrganizationConfig -DefaultPublicFolderProhibitPostQuota Unlimited -DefaultPublicFolderIssueWarningQuota Unlimited
  1. Increase the Max Send and Max Receive Quotas for Public Folder Mailboxes 

    1. 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
    2. 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

Open a ticket with BitTitan Support by following the instructions

Steps to submit ticket

If you meet any of the considerations above, you will submit a ticket to support for assistance. If you have already submitted a ticket for another issue above, simply add the new information to that existing ticket.

If you have not previously opened a ticket, include the following in a new 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.

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 these prerequisites have not been met, stop here and perform the Microsoft 365 set up necessary to continue. 

  1. The destination administrator account being used for the project must have a valid Microsoft 365 license assigned and an active mailbox in the Microsoft 365 environment.
  2. Before migrating or running public folder mapping scripts if your project is over 20 GB in size, the first Public Folder mailbox in the Microsoft 365 tenant will need to be created. This will be the Primary Hierarchy Public Folder mailbox. You will also need to apply the Owner permission at the Root of the public folder hierarchy for the destination administrator account being used for the project.
  3. After all public folder mailboxes that are required for this migration have been created (You will need more than one if migrating over 20 GB of data, see If migrating more than 20GB of data for the project above. Run the following powershell commands in the destination tenant for increasing the max send and max receive size limits for the public folder mailboxes and to increase the individual public folder size quotas for the migration:

Set-OrganizationConfig -DefaultPublicFolderProhibitPostQuota Unlimited -DefaultPublicFolderIssueWarningQuota Unlimited

Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -MaxReceiveSize 150MB -MaxSendSize 150MB

If you have not created the first Public Folder mailbox in the tenant, perform the steps in the following dropdown list before continuing. This step is required regardless of needing public folder mapping scripts for migrating more than 20 GB for the project or not.

Creating a Public Folder Mailbox on Microsoft 365 while in Non-Hybrid Mode

The most common error you will receive in MigrationWiz to indicate the destination tenant is not ready is:

Your migration failed while checking destination credentials. No public folder mailbox found. A public folder mailbox is required to create public folders. Cause: There are no public folder servers available. Error: ErrorNoPublicFolderReplicaAvailable - Destination Server 

The following steps need to be used to create the first public folder mailbox correctly (this will be the Primary Hierarchy mailbox) in order to use MigrationWiz for this project type. It would be best to have your MigrationWiz project already created for testing.

  1. 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.
  2. 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.
  3. Create the first public folder mailbox (this will become the primary).
  4. 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 Owner. If there is a box for applying the permissions to sub-folders, make sure it is checked before saving.
  5. Create a test public folder in the administrator UI where you just added the permissions.
  6. 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 –DefaultPublicFolderMailbox 365PFMBX (Replace with the destination admin account being used and 365PFMBX with the name of the public folder mailbox you just created.)
  7. If logged into Microsoft 365 with destination administrator account being used in project, then log out.
  8. After 15-30 mins, log back into Microsoft 365 with the destination admin account and open its OWA mailbox.
  9. 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, and your MigrationWiz project has been created, 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.

Prepare Source Environment

Admin setup

Grant admin permissions

  1. 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.
  2. 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.
  3. 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 migrating, or before contacting BitTitan Support for splitting up your project if migrating more than 20GB or more than 1000 folders.

  1. Split up large Public Folders: if any Public Folders contain more than 20,000 items (if Source = Exchange 2007), or 100,000 items (if Source = Exchange 2010 or later), these should be split into multiple Public Folders. This will speed up your migration. For more information, see Finding Public Folder Size for Migration
  2. 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.

MigrationWiz Steps

The following steps will be performed in MigrationWiz.

Create project

Create a Public Folder migration project. Read the MigrationWiz Projects article for more information on project types and troubleshooting.

  1. Click the Go to My Projects button.
  2. Click the Create Project button.
  3. Select Public Folder as the migration type.
  4. Click Next Step.
  5. Enter a Project name and select a Customer.
  6. Click Next Step.

Create endpoints

Create the source and destination Endpoints (select Office 365 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. 

Add items

Add Public Folders:

  1. Select Add
  2. Select Quick Add
  3. 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, contact BitTitan Support for assistance with adding those specific folders to the project instead of the top-level Root folder

Run Verify Credentials

Now that your project has been created and / 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.  

Purchase Public Folder licenses

Purchase Public Folder licensesTo 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.

Set Initial Project Advanced Options


The advanced option steps listed below should be followed in the order that they are entered as they are required for this migration scenario.

  • 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
  • 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 BitTitan Data Center. For the most optimum migration speeds, select the Data Center that is closest to your Microsoft 365 destination tenant. Refer to MigrationWiz - General - FAQ.

Under Support Options add:

  • 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.

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 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).

Under Support Options add:

  • MaintainWatermarkCompletionState=1 

Under Filtering:

  1. Select By Date
  2. Check box Only migrate items older than the specified date
  3. 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

  1. Perform 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

Under Support Options:

  • Remove MaintainWatermarkCompletionState=1
  • Add SkipImportFolderWhenPublicFolderExists=1
  1. Select By Date
  2. Check box Only migrate items newer than the specified date
  3. 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

  1. Perform 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

Under Support Options:

  • Remove SkipImportFolderWhenPublicFolderExists=1
  • Add AllowAllMailboxTypesForPFPermissions=1

Perform migration pass for Security Group Permissions

  1. Perform pass for migrating security group permissions by running a Full Migration from the Start menu. 

Mail-Enabled Public Folders


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. 

  1. 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.
  2. 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
  3. 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 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 assist you with resolving the mail flow issues. If mail is still being received by the mail-enabled Public Folders at the source and not forwarded 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.


Request the migration statistics. Click the bar chart icon on the MigrationWiz dashboard to receive an email containing all the project migration statistics. 

Was this article helpful?
0 out of 1 found this helpful