Automatic Public Folders Migration to Office 365 Exchange Online

9 בSeptember 2016

Hello again!

 

Today I want to share with you a nice script that I wrote for an easy Public Folders migration from Exchange 2010 to Exchange Online.

I wrote this script because the procedure for migrating these Public Folders is totally manual and sometimes frustrating.

Please consider the following:

  • You must download all the files from these locations:

https://www.microsoft.com/en-us/download/details.aspx?id=38407

https://www.microsoft.com/en-us/download/details.aspx?id=46381

  • My script can be downloaded from the TechNet Gallery:

https://gallery.technet.microsoft.com/scriptcenter/Full-Exchange-2010-Public-ef2d06de

  • All of the downloaded files must be placed in the same folder
  • My script must be run from the Exchange 2010 Management Shell

Initial input:

TenantDomain:

This is where you need to write your tenant domain i.e.: onmicrosoft.com

PublicFoldersExchangeServer:

Enter the FQDN of your Mailbox Role server which holds the Public Folders Database

NotificationEmailRecipient:

The email address to send the Migration Batch results to

Office 365 Global Admin account credentials (i.e.: admin@yourdomain.onmicrosoft.com)

Local Public Folders administrator account credential (i.e.: yourdomain\administrator)

pfmig

You will be presented with a menu that has the following options:

1. Fully Automatic:

This option will migrate the public folders automatically without suspending.

Although it is states that it’s fully automatic, you may encounter some input stops because of the errors or warnings that this option may produce.

2. Automatic with autosuspend:

This option is almost identical to the previous option with the Migration Autosuspend flag.

You will be presented with an option to fully complete the migration

3. Step-by-Step:

In this option you will have the ability to fully control the steps of the migration process throughout the following steps (Like in the TechNet article):

Preparation

CSV files generation

Public Folder mailbox creation (Exchange Online)

The migration process itself

Public Folders lock (On-Premise) and migration finalization

Public Folders Online unlock and enablement operation

4. Stage Select:

Almost the same as the above but this time you will be able to select the exact step

5. Reconnect:

If, for some reason, you were disconnected from the Exchange Online PowerShell, you will be able to reconnect and continue 🙂

pfmig2

For the purposes of this demonstration I used the Fully Automatic option.

The next screenshots shows some highlights of the outputs that the script may produce

pfmig3

pfmig4

The next screenshot shows an interaction that you may experience if you had a previous and unsuccessful Public Folders migration in which you had created a Migration Endpoint that should be re-created.

pfmig5

pfmig6

pfmig7

If for some reason (and it most likely to occur) your Public Folders database was successfully locked, but the finalization procedure is getting the opposite information, this may be because the Microsoft Exchange Information Store is not fully aware of the situation.

In this case you will need to re-mount the Public Folders database, or worst – to restart the Information Store service.

The re-mount option will be presented to you, however, if this should not succeed, you will be asked to exit the script and restart the Information Store service.

In the later, you could return to the script and select the “Stage Select” option from the menu, after which you should choose the 5th stage – it will lock and finalize the migration process.

Then, you should choose the 6th option from the “Stage Select” menu option to unlock the online Public Folders and enable them.

pfmig8

Hope you would use this script wisely and with caution.

I encourage you to go through the code and if have any questions, suggestions or unexpected errors during the script running process, please comment.

הוסף תגובה
facebook linkedin twitter email

Leave a Reply

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