Public Folder Migration Guide From Hosted Exchange To Office 365


This is the complete Onboarding Task flow for migrating Public Folders from a multi-tenant Hosted Exchange environment to Public Folders on Office 365.

Important: MigrationWiz is not a sync tool. Items updated at the Source will not be updated at the Destination. There is no process by which calendars, contacts, tasks, etc., can be updated after being migrated.

Complete each step in the order listed. If additional instructions are required, a link to a corresponding Knowledge Base article is provided.

This migration is typically run in 3 migration passes to move over all selected items and security group permissions.

For a list of prerequisites and best practices, see Public Folder Migration Best Practices.

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 migrations projects. For more information, visit Project Sharing in MigrationWiz.


Prepare Destination Environment

  1. Set up the Office 365 tenant.
  2. Create an administrator account in Office 365 to be used for migration or use the global administrator account for the tenant. This administrator account must be unique to the Destination environment and not created by syncing to the Source. For more information on public folder permissions, see Microsoft's documentation
    Note: The administrator account must have a valid Office 365 license assigned and an active mailbox.
  3. Add users and assign Office 365 licenses (if permissions are being migrated, this is required). For more information, see How do I migrate Public Folder permissions?
  4. Create the primary hierarchy Public Folder mailbox and assign the administrator account owner permissions at the root of the Public Folder hierarchy. For more information, see Create a Public Folder Mailbox here: Office 365 Public Folder Migration FAQ


Prepare Source Environment

  1. Ensure the migrating administrator account has a mailbox enabled on the Source environment, as well as access permissions on all Public Folders to be migrated. Owner access permissions are recommended for the migration. For more information, see How do I ensure the admin account being used for Public Folder migration has permissions on all Public Folders?
    Note: You will most likely not be able to run the PowerShell commands on your Hosted Exchange environment. Ask the Hosted Exchange provider to add this permission to the account that is being used for migration. If they do not want to provide "owner" access rights, ask them to add "read" access rights instead.
  2. When migrating from a multi-tenant Hosted Exchange environment, the Hosted Exchange provider will not usually grant access to the root of the Public Folders, as this is a shared environment. Therefore, request that the provider runs the PowerShell script below to obtain the unique identifier for the customer's top-level Public Folder.
    • This is the PowerShell command that your Hosted Exchange provider must run in order to obtain that PublicFolderRootEntryId:
      Get-PublicFolder "\the path of the source top-level PF" | fl Name,EntryId*
      Note: Record the EntryId output of this script. This will be used later in the migration process
  3. Split up large Public Folders. If any Public Folders contain more than 20,000 items (if the Source is Exchange 2007), or 100,000 items (if the Source is Exchange 2010 or later), these should be split into multiple Public Folders. This will speed up your migration. For more information, see How do I find the size of Source Public Folders? 
  4. 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

  1. Set up the Public Folder migration project. Read the How do I create a new migration project? article for more information.
  2. Create the Source and Destination Endpoints (select Exchange Server Public Folder for the Source Endpoint and Office 365 Public Folder for the Destination Endpoint). 
    Note: If your Destination endpoint is with GoDaddy Office 365, then select Office 365 Public Folder for that endpoint.
  3. Add Public Folders (select Add > Quick Add and enter a forward slash ( / ) in the Root Folder Path field). This will then migrate all Public Folders, based on the PublicFolderRootEntryId that you will be adding to the Advanced Options later in the guide.
  4. Run Verify Credentials. See How do I verify credentials? (Note: Your migration project should be created and a successful Verify Credentials completed before moving on to the next steps)
  5. If you have more than 1000 folders, you will need to work with BitTitan Support to split the migration up so that the project runs more efficiently.
    • First step: run this PowerShell command against your Source environment: (Your Hosted Exchange provider will most likely need to run this for you)
      Get-PublicFolder -Recurse -Resultsize Unlimited | select Identity | Export-Csv -Encoding Unicode C:\folders.csv
    • This will generate a file called folders.csv. Once you have that CSV, follow these steps:
      • Open the CSV and remove the names of any folders that will not be included in the migration. After you have confirmed the folders listed in the folders.csv file are the ones to be migrated, attach the file to the ticket and indicate this step has been completed.
        • Only folders included in the CSV will be included in the migration. 
        • Any new folders created after the Public Folder Split is initiated will not be included in the scope for the migration.
        • For suggestions on working within these restrictions, see Public Folder Migration Best Practices.
      • When migrating more than 20GB of data, scripts will need to be created for the project by BitTitan Support to avoid the automatic Office 365 auto-split process for Public Folder Mailboxes. For more information, see How do I migrate more than 20GB of Public folder data to Office 365? If the total size of the migration is less than 20GB, these scripts are not required.
      • Open a ticket with BitTitan Support by following the instructions in How do I get support for your products?
        1. If you already have a ticket open with BitTitan Support, this information can be added to the open ticket. The subject of the ticket should be “Public Folder Split and Foldermapping”
        2. Once the MigrationWiz split process is complete, a new project will be created with “_SPLIT” in the title. You must run the migration from the new project.
      • After the Public Folder mappings scripts supplied by BitTitan support have been successfully run against the Office 365 tenant, we highly recommend performing the steps outlined under Office 365 as the destination in Best Practices for migrating Public Folders.
  6. Purchase Public Folder licenses
  7. Perform the steps outlined under Office 365 as the destination in Best Practices for migrating Public Folders.
  8. Set Project Advanced Options. 
    • Under Source/Destination, set the value for Migrate Permissions For from New Folders Only to New folder and existing folders. This is required because Public Folder mapping scripts have been created. See How do I migrate Public Folder permissions?
    • Set value for Licensing/Maximum licenses to consume per item per pass licensing count. The default = 1, which allows up to 10GB to be migrated. Example: If migrating all Public Folders, using the forward slash ( / ) as mentioned in Step 3, and the total data size = 78GB, then increase the Maximum License value to 8 (otherwise the migration will pause at 10GB). See How do I enable consumption of multiple licenses for a single item?
    • Set your Preferred BitTitan Data Center. For fastest migration speeds, select the Data Center that is closest to your Office 365 Destination tenant. Refer to How do I specify the data center to use for my migration?
    • Under Support Options add:
      • RemoveFilterBasedOnFolderType=1 This flag is required if Public Folders contain items other than mail, such as calendar and contact items. See How do I migrate a Public Folder with multiple item types?
      • PublicFolderExportRootEntryId=xxxxxxxxxxxxxxxxxxxxx (This is the entry id of the top-level folder at the source)
        • These options stay in place for the entire migration process
        • The name of the Advanced Option is case-sensitive and should be entered exactly as shown above.
        • The PublicFolderExportRootEntryId option should contain the EntryId of the Source top-level Public Folder. Replace the "x"s with the ID that was obtained when running the PowerShell script provided in the "Prepare Source Environment" section of this Migration Guide.
        • After entering this text, click the "+" sign to save the entry.
  9. Set first pass Project Advanced Options.  (Note: This is to be considered your pre-stage pass)
    • Under Support Options add:
      • MaintainWatermarkCompletionState=1
    • Set Date Filter to migrate items older than six (6) months. For more information, see How do I set a Date Range filter?
  10. Perform first pass for items older than 6 months by running a Full Migration. 
  11. Set second pass Project Advanced Options.
    • Under Support Options:
    • Remove MaintainWatermarkCompletionState=1
    • Add SkipImportFolderWhenPublicFolderExists=1
    • Set the Date Filter to migrate items newer than six (6) months. 
  12. Perform a second pass for items newer than 6 months by running a Full migration.
  13. Set Advanced Options for Security Group Permissions Pass.
    • Under Support Options:
    • Remove SkipImportFolderWhenPublicFolderExists=1
    • Add AllowAllMailboxTypesForPFPermissions=1
  14. Perform a Security Group Permissions pass by running a Full Migration. If you do not run this pass, none of the Security Group Permissions will migrate. For more information on Security Group permissions, see How do I allow Security Groups to be migrated during a Public Folder migration project?
  15. 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
  16. Change your primary domain type in Office 365 from Authoritative to Internal Relay for domains being used in mail-enabled Public Folder SMTP addresses. 
    Note:Without setting this, Office 365 bounces the message before it even checks whether a valid Public Folder address exists.
  17. Request the migration statistics. Click the bar chart icon on the MigrationWiz dashboard to receive an email containing all the project migration statistics. 

Mail-Enabled Public Folders

MigrationWiz only mail-enables Public Folders at the destination. It does not migrate the email addresses. The only address assigned is the default address.

If you have multiple email addresses assigned to the mail-enabled Public Folder on the Source and want to migrate them to the Destination after the destination folders have been mail-enabled, use the instructions in this article: Migrating mail-enabled Public Folder email addresses.


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