EDB to PST Converter

How to Migrate Exchange 2019 Public Folders to Office 365?

Table of Content

    Summary: Migration of public folders from Exchange Server to Office 365 is different from migrating mailboxes. In this post, we will be discussing the step-by-step process of migrating public folders from local Exchange Sever 2019 to Exchange Online (Office). We will also be mentioning a specialized EDB converter tool that can easily and quickly migrate public folders from EDB file to Office 365.

    Migrating mailboxes from on-premises Exchange Server to Office 365 is easy and straightforward. However, when it comes to migrating public folders, the process is relatively complex and time-consuming as involves a set of scripts and procedures that require a lot of preparation work and resources. In this post, we will be explaining the stepwise process to migrate Exchange 2019 public folders to Office 365.

    Process to Migrate Exchange 2019 Public Folders to Office 365

    Here’s the step-by-step process to migrate public folders from Exchange Server 2019 to Office 365.

    1. Fulfil the Prerequisites

    Before starting the migration, you need to ensure the following:

    • The traffic between the server and the internet is open and there are no bandwidth restrictions.
    • The Exchange Server and the underlying operating system are updated.
    • There are no scanning or backup jobs running during the migration.
    • The Active Directory is prepared if you have the Exchange Server 2019 migrated from an Exchange Server 2013 or 2016.
    • The user performing the operation must be a member of the Organization Management Role Group on the local Exchange Server and Exchange Online.

    In addition, here are some considerations you need to keep in mind:

    • There is a limitation of 1000 public folder mailboxes in Office 365.
    • MRS proxy is required and must be enabled on Exchange Server 2019.
    • Migration can be done and executed from the Exchange Management Shell (EMS).
    • The migration batch cannot have multiple migration batches running simultaneously.
    • The user performing the migration cannot have the Multi-Function Authentication (MFA) enabled.
    • Each public folder cannot exceed the 25 GB size limit.

    2. Download the Scripts

    To start the migration process, you need to first download the migration scripts from the Microsoft website.

    migration scripts

    Then, extract the files into C:\Scripts\PFMigration or any folder of your choice.

    3. Create the Accepted Domain

    Now, you need to add the Office 365 domain as an accepted domain in the local Exchange Server.

    New-AcceptedDomain -Name PublicFolderMigration -DomainName mycompany.onmicrosoft.com
    New AcceptedDomain

    4. Clean Up Process

    The next step is to clean up the local public folders from unnecessary data, run a retention process, and take a backup of the public folders. This will ensure that the migration will be faster and that only the needed data is migrated.

    You need to remove any started, completed, or locked public folder migrations and any listed public folder migration requests. To do so, use the below command:

    Get-PublicFolder -Recurse -ResultSize Unlimited | Where {$_.Name -like "*\*" -or $_.Name -like "*/*"} | Format-List Name, Identity
    Get OrganizationConfig

    5. Remove any Locks on Public Folders

    You need to also remove any migration locks on the public folders. For this, run the below command:

    Set-OrganizationConfig -PublicFoldersLockedforMigration:$false -PublicFolderMigrationComplete:$false -PublicFolderMailboxesLockedForNewConnections:$false -PublicFolderMailboxesMigrationComplete:$false
    Set OrganizationConfig command

    6. Get the Local Public Folders Statistics

    Now, you need to get the local public folder statistics. From the downloaded scripts, you can run the Export-PublicFolderStatistics.ps1 command to get the results (see the example below).

    Export PublicFolderStatistics.ps1 command

    7. Generate the Source to Destination Mapping File

    You need to run the PublicFolderToMailboxMapGenerator.ps1 to generate the mapping file.

    PublicFolderToMailboxMapGenerator.ps1 command

    8. Create Empty Public Folders in Office 365

    Next, you need to run the script to create the local public folders, from the files you created, into the Exchange Online. For this, use the Create-PublicFolderMailboxesForMigration.ps1 file. When executing this command, you will be asked to enter the Global Admin of your Exchange Online.

    .\Create-PublicFolderMailboxesForMigration.ps1 -FolderMappingCsv pfef.csv -EstimatedNumberOfConcurrentUsers:<estimate number>

    9. Start the Synchronization

    After creating the local folders in Exchange Online, you need to synchronize the data from the local server to the cloud.

    To synchronize the mail-enabled folders, you can run the following command:

    .\Sync-MailPublicFolders.ps1 -Credential (Get-Credential) -CsvSummaryFile:log.csv

    10. Add Local Credentials and URLs

    Next, you need to add the local credentials. To do so, execute the below command:

    $Source_Credential = Get-Credential <MyDomain\MyPublicFolderAdministrator>

    To input the Outlook Anywhere URL for the server, Remote Public Folder DNS, and the Remote Mailbox legacy DN, you can run the below commands:

    $Source_OutlookAnywhereExternalHostName = "<URL>"
    $Source_RemotePublicFolderServerLegacyDN = "<URL>"
    $Source_RemoteMailboxLegacyDN = "<URL>"

    11. Create the Migration Batch

    Once this is complete, you need to create the migration batch. For this, run the following command:

    $PfEndpoint = New-MigrationEndpoint -PublicFolder -Name PublicFolderEndpoint -RPCProxyServer $Source_OutlookAnywhereExternalHostName -Credentials $Source_Credential -SourceMailboxLegacyDN $Source_RemoteMailboxLegacyDN -PublicFolderDatabaseServerLegacyDN $Source_RemotePublicFolderServerLegacyDN -Authentication Basic
    [byte[]]$bytes = Get-Content -Encoding Byte <folder_mapping.csv>
    New-MigrationBatch -Name PublicFolderMigration -CSVData $bytes -SourceEndpoint $PfEndpoint.Identity -NotificationEmails <email addresses for migration notifications>

    Then, run the Start-MigrationBatch command as given below.

    Start-MigrationBatch <migration batch name>

    You can confirm the status of the migration batch in the Exchange Admin Center (Online). When the Status is Synced, you can start the cutover and close the migration.

    12. Close the Migration

    Before closing the migration, you need to run last synchronization to take the changes from the seeding. Here’s the command to do so:

    Complete-MigrationBatch PublicFolderMigration

    Once this is done, you can decommission the local public folders.

    Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
    Set-OrganizationConfig -PublicFolderMigrationComplete:$true
    Complete MigrationBatch PublicFolderMigration

    An Alternative Solution for Migrating Public Folders to Office 365

    As you can see, the above process of migrating public folders from on-premises Exchange Server to Exchange Online is not that intuitive and needs some skills and expertise to successfully complete the migration process. To make the migration process easier and smoother, you can use a specialized third-party EDB converter tool, such as Stellar Converter for EDB. This tool can help you to migrate user mailboxes, shared mailboxes, user archives, disabled mailboxes, and public folders to PST and other file formats. It can also migrate the EDB data, including public folders, directly to Exchange Online (Office 365) and a live Exchange Server database.


    In Exchange Server, public folders are used to store important data related to organization. When migrating to Office 365, you need to also migrate the public folders separately. Above, we have discussed the stepwise process to help you with the Exchange 2019 public folders to Office 365 migration. However, the manual process is quite lengthy, tedious, and time-consuming. To simplify and ease the migration process, you can use a third-party EDB converter tool, such as Stellar Converter for EDB. This tool can help you migrate public folders and other data from Exchange Server EDB file to Office 365 in just a few simple steps.

    Was this article helpful?

    No NO

    About The Author

    Shelly Bhardwaj linkdin

    I am a Product Consultant and is associated with Stellar Data Recovery from last 8 years. I write about the latest technology tips and provide custom solutions related to Exchange Server, Office 365, MS Outlook, and many other Email Clients & different flavors of OS Servers. Read More

    Leave a comment

    Your email address will not be published. Required fields are marked *

    Image Captcha
    Refresh Image Captcha

    Enter Captcha Here :

    Related Posts


    Why Choose Stellar?

    • 0M+


    • 0+

      Years of Excellence

    • 0+

      R&D Engineers

    • 0+


    • 0+


    • 0+

      Awards Received