Migrating Public folders to Office 365. The missing information….

Office-365Over the past month, we have been working with a customer on migrating to Office 365.   Unlike all our other migrations, this customer had a large amount of Public folders and public folder data in Exchange 2010 onsite. This turned out to be a major stumbling block for NTES and also Microsoft.

Finally today, we are migrated, but the steps NTES and our client took directly with Microsoft Support will mean that you will see some updated TechNet articles very soon on this very subject!   In the meantime, here are the issues and the steps we took to migrate a mass of Public Folders to Office 365.

Patch on up

First, make sure you are running Exchange Server 2010 Service Pack 3

Permissions first It may seem obvious, but make sure you have the right permissions.   Your account you are connecting from must be the owner of all the public folders in Public Folder Management.   Also, the account must be a member of the Organisation Managers Group.

25MB Emails are a no no… Our client uses Public folders to store large emails.   Mainly as this client is a design house these things are not unexpected.  But it will cause you numerous errors during your migration (and it won’t work!).   To get around this issue, you need to run a tool called EXFolders.   Download and run from the Exchange BIN folder, import the registry key and start the application.   Jim Banach has detailed the whole process on his blog which I strongly recommend reading.

Spaces in Aliases (argument in office as to if that rhymes)

Older versions of Microsoft Exchange allowed you to have spaces in the aliases of the subfolders of your Exchange Server Public folder store.   This also mean that the emails for any mail enabled public folder may be corrupted with the space.   Office 365 is built with Exchange 2013, which does not allow spaces.   So you need a script to run on your in house exchange server to fix this.

$pfs = Get-MailPublicFolder | where {$_.alias.contains(‘ ‘)} $pfs | Foreach { Set-mailpublicfolder -Identity $_.Identity -Alias ($_.Alias -replace “\s”)}

The rest is here..

The rest of the (not missing) migration instructions are clearly detailed here

After you have migrated Your users after migration of the data will not have permissions to the public folders.   You have two choices, read this article on assigning specific permissions.   Or, run this in your Office 365 powershell to give everyone access (including new persons).

Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false

Special thanks to Mark Costello from Continuum Technologies for documenting all this and allowing me to share!