Migrate public folders

G Suite Migration for Microsoft Exchange

With G Suite Migration for Microsoft® Exchange (GSMME), you can migrate the content from public folders on your Exchange server to Google Groups. There are 2 ways you can move the data: 

  • Run GSMME on a Microsoft Windows® desktop and select the option to migrate public folders.
  • Run GSMME from a command line. This advanced procedure is meant for experienced administrators.

What's migrated?

You can use GSMME to migrate messages from public folders. Files that are supported by Gmail are also migrated from the top-level folder. These files are stored as attachments to posts in Groups.

Before you begin

  • Run separate migrations for users and public folders—You can't migrate user data and public folders at the same time. Migrate your users' mail, calendar, and contacts first. Then, migrate public folders. 
  • The public folder and subfolder hierarchy can't be replicated in Groups—Google Groups can't be arranged into a hierarchy like Exchange subfolders. You can map the Exchange subfolders to a group or you can create separate groups for each subfolder.
  • Create groups first—You need to set up your groups and group memberships in G Suite before running the migration.
  • Specify nested public folders—To migrate a nested public folder, you must specify it separately in the CSV file.

Set up the migration

Step 1. Authorize GSMME for your domain 

Before you can install GSMME, you must authorize the software for your domain. For details, see Authorize GSMME for your domain.

Step 2. Create groups in Google Groups

Create groups and add users to them. You can do this in the Google Admin console or using the Groups for Business service.

If you're running GSMME from a command line, you can retrieve your public folder names by opening your Exchange Management Shell and running Get-PublicFolder -Recurse from the command line.

Step 3: Create a mapping file

Note: If you're migrating public folders in default mode using the command line, you don't need to complete this step. 

Map the public folders in Exchange to the group you want to migrate the data to. The mapping file can be a .csv or .txt file. In the file, specify the folder name in Exchange and the corresponding group email address. Ensure the Exchange folder is named consistently with how it appears in Microsoft® Outlook®, especially if the language isn't set to English.


All Public Folders/Finance/annual report, 2015_annual_report@solarmora.com
All Public Folders/TPS reports/tps reports, tps-reports@solarmora.com
All Public Folders/Offshore/accounts, offshore-accounts@solarmora.com

Migrate public folders

Use the GSMME desktop interface or the command line to migrate public folders. 

Use the desktop interface to migrate
  1. Run GSMME: Click Start and then All Programs and then G Suite Migration and then G Suite Migration.
  2. On the Server Details screen, select Exchange. Then, enter information about your server, as described in the GSMME Administration Guide.
  3. On the User and domain information screen, enter the:
    1. G Suite domain name.
    2. Full path to your Service Account credentials JSON file.
    3. G Suite administrator email address.

    See descriptions in the GSMME Administration Guide.

  4. On the Migration Settings screen, select Public Folders.
  5. Under File of folders to migrate, click Browse and locate the mapping file you set up in Step 3: Create a mapping file.​
  6. Click Next and review your settings.
  7. Click Next to start the migration.
Use the command line to migrate

There are 2 ways to migrate public folders using the command line:

  • Mapping mode—In mapping mode, you specify the path to the mapping file from step 3. The file specifies the links between the public folder and the group in Google Groups. 
  • Default mode—In default mode, you don't need to provide a mapping file The migration is run on folder and group names. The mapping is established when the public folder name directly matches the group name. For example, Solarmora Public Folders/Finance matches finance@solarmora.com in Groups.

Because Groups email addresses often don't exactly match public folder names, most organizations use mapping mode. 

For details on commands, see Run GSMME from the command line.

Option 1. Run a migration in mapping mode

Enter the following commands:

"C:\Program Files\Google\G Suite Migration\ExchangeMigration.exe" --nouse_gui
--exchange_admin_login=<login name for Exchange server> --source_server=<server IP address or name>
--google_domain=<G Suite domain name>
--service_account_json_path=<absolute path to JSON file>
--gsuite_admin=<G Suite admin email>
--enable_public_folder_migration --force_restart
--public_folder_mapping_file=<path to mapping file>

Option 2. Run a migration in default mode

Enter the following commands:

"C:\Program Files\Google\G Suite Migration\ExchangeMigration.exe" --nouse_gui
--exchange_profile_name=<name> --google_domain=<G Suite domain name>
--service_account_json_path=<absolute path to JSON file> --force_restart
--gsuite_admin=<G Suite admin email>

Note: If you're using a 64-bit operating system, you need to use Program Files (x86) instead of Program Files.


Is it possible to migrate only the messages (and not the documents) from the public folder?

Yes. If you're running GSMME you can exclude specific message classes using the command line flag:

Are migrated documents and attachments searchable?

Yes. You can search for attachments by using the Google Groups search parameter has:attachment and by attachment names.

Are migrated posts delivered to group members?

No. Migrated posts are delivered to the group archive.

What message classes are migrated from public folders by GSMME?

The following message classes are migrated from public folders: IPM.Note, IPM.Post, IPM.Schedule.Meeting.Request, IPM.Schedule.Meeting.Canceled, IPM.Schedule.Meeting.Resp, and IPM.

Does GSMME migrate the read or unread status of public folder posts?

No. GSMME doesn't migrate the read or unread status or other user-level metadata for public folder posts.

Was this helpful?
How can we improve it?