Part 4: Step-by-Step Exchange 2007 to 2013 Migration

In part 1 we covered the deployments steps for Exchange 2013, in Part 2 of this series we covered Exchange 2013 configurations and testing, in part 3 started our migration process. In this final post we will walk through the final steps in migration, then remove our legacy server.

Important Update was released by the Exchange Team to enhance the discover of legacy public folders, the details and configurations for this update are well documented in this post, and must be followed before continue with the below steps.

8.Public Folder Migration

This phase is very well documented online, accordingly we will walk through the steps with minimum explanations, to understand the whole processes check this Link.

Rename Folders with backslash

If the name of a public folder contains a backslash \, the public folders will be created in the parent public folder when migration occurs. You have to rename any public folders that have a backslash in the name.

Make sure there is no previous record of a successful migration

Generate the CSV files

On Exchange 2007 run the below script to create the folder name-to-folder size mapping file, the file will create the folders and its sizes

.\Export-PublicFolderStatistics.ps1 PFStat.csv e12-01

Copy this file to Exchange 2013 and run the below script to create the second CSV, which will let you know how many mailboxes will be required for your folders based on the mailbox you will set as show below:

Right, you should wait for copying all PF DB then lock them and repeat all steps. PF Migration step is painful, finally don't forget latest CU2 update! There is a bug in Exchange Server 2013 CU2 about PF permissions. You should install all Exchange Server 2013 with the latest updates.

In previous version migrations, I’m used to having the need to move arbitration or system mailboxes from the old server prior to deleting the legacy MB DB. I can’t find any good info anywhere else to know if this is required and what steps are needed – Ex2007 –>Ex 2013

Hello Mohammad,
thank you for your quick guide. It is essential and useful.
I found an issue during a migration. The http redirect to the exchane 2007 always prompt for double credential. One on the EX2013 owa and then to the Ex2007.
At the end I was able to pass through the credential between 2k13 and 2k7 configuring the owa vtrutal directory on 2k7:
Set-OwaVirtualDirectory -Identity “CAS_Server_NameOWA (Default Web Site)” –ExternalURL $Null –formsAuthentication $true –WindowsAuthentication $true.

Sincerely, it works, but it seems a bit strange to me I have to activate the FBA

First of all, THANK YOU for writing up this post. I’m sure it is useful for "some" folks is not for all. I did well all the way until this page. I get all the to "Start the Migration Request" and things fall apart there. This is what I get…. [PS] C:PFScripts>New-PublicFolderMigrationRequest
-SourceDatabase (Get-PublicFolderDatabase -Server SRVMAIL1.intermedia -advertising.com) -CSVData (Get-Content FolderToMailbox.csv -Encoding Byte) Couldn’t connect to the source mailbox. + CategoryInfo : NotSpecified: (:) [New-PublicFolderMigrationRequest],
RemoteTransientException + FullyQualifiedErrorId : [Server=SRVMAIL2,RequestId=3c0b298c-9742-41b4-afbe-0db8389bacef,TimeStamp=2/10/2014 8:51 :21 PM] B2D33BC1,Microsoft.Exchange.Management.RecipientTasks.NewPublicFolderMigrationRequest + PSComputerName : srvmail2.intermedia-advertising.com
Any help is very much appreciated.

Great article but I have red error when I run .Export-PublicFolderStatistics.ps1 xxx.csv servername. Error is Parameter declarations are a comma-separated list of variable names with optional initializer expressions.
At C:PFScriptsExport-PublicFolderStatistics.ps1:16 char:168
+ HelpMessage = "Full path of the output file to be generated. If only filename is specified, then the output file w
ill be generated in the current directory.")] <<<<
any help ?

Hi Tomasz, had the same problem this weekend. You have to install Powershell 2.0 on the source server for the scripts to run succesfully. Got it from here:http://support.microsoft.com/kb/968929/de (only Windows Management Framework Core (WinRM 2.0 und Windows PowerShell 2.0 was necessary for me.)

Maybe a silly question, but just so I understand…if the current environment is not using PublicFolders, must there still be a migration to the new Exch2013 server for a clean uninstall of Exchange 2007 server?

.Export-PublicFolderStatistics.ps1 is not recognized as the name of a cmdlet, function,script, etc. Check the spelling of the name……. line:1 Char:32

[PS] C:Usersda_sowensDesktop>.Export-PublicFolderStatistics
The term ‘.Export-PublicFolderStatistics’ is not recognized as the name of a cmdlet, function, script file, or operabl
e program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:32
+ .Export-PublicFolderStatistics <<<<
+ CategoryInfo : ObjectNotFound: (.Export-PublicFolderStatistics:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

1. You’re missing the ".ps1" at the end of your command
2. Be sure the script is in the directory that you’re running the shell from. If Export-PublicFolderStatistics.ps1 is not on your desktop, you’ll need to "cd" to the folder containing the script

I want to thank you for this article, as it was critical in providing a guideline for my first (and hopefully only) migration from Exchange 2007 on a 2003 OS to Exchange 2013 on 2012 R2. Any admin or engineer with some experience and sense will be able
to resolve issues as they arise, as I have. The information is out there! This guide is a superb step-by-step and it will become a part of my personal knowledge base; so thanks again!

.PublicFolderToMailboxMapGenerator.ps1 1GB PFStat.csv FolderToMailbox.csv scripts needs to be run on Exchagne 2007 instead of 2013 and Set-OrganizationConfig -PublicFoldersLockedForMigration:$true is posted without title bar makes it difficult to figure
out which exchange server it is. Other than that all the screenshots and command are very helpful

We do not need any of the old public folders on our 2007 server moved to our 2013 server. I deleted all the public folders under the DEFAULT PUBLIC FOLDERS on the 2007 server. I did NOT delete anything under the SYSTEM PUBLIC FOLDERS. But I cannot delete
the public folder database because it says there are still replicas. How can I find what the replicas are and DELETE them? I do NOT want any of that data. Do we HAVE to migrate the SYSTEM PUBLIC FOLDERS?

But i have an issue with Microsoft ActiveSync.. I can send emails from Ex2007 to Ex2013.. Ex2013 to Ex2007.. Ex2007 to internet, Ex2013 to internet… I can send emails from OWA but…
with my cellphone, i can recieve mails but not send!

Do you have any clue for this issue please? it s been 2 weeks i am on it.. -__-

I have migrated mailboxes to new 2013 server months ago. I want to decommission the old server. I still see all the mailboxes on the old server. Does this seem right? All modified dates are 3 months old.

Thank you for such an excellent article, it helped alot to migrate LIVE mail services from Exg 2007 to 2013. I appreciate all who contributed and shared migration experience and expert opinion for quick resolution.