Exchange 2013 Troubleshooting: Unable to Migrate public folder from 2010 to 2013."Error: MigrationPermanentException: Error: Property expression"

Symptom:

Unable to Migrate public folder from 2010 to 2013. Migration batch to move public folder fails with below error

Error: MigrationPermanentException: Error: Property expression "Form Reorder Form" isnβ€Ž't valid. Valid values are: Strings formed with characters from A to Z β€Ž(uppercase or lowercase)β€Ž, digits from 0 to 9, !, #, $, %, &, β€Ž', *, +, -, /, =, ?, ^, _, `, {, |, } or ~. One or more periods may be embedded in an alias, but each period should be preceded and followed by at least one of the other characters. Unicode characters from U+00A1 to U+00FF are also valid in an alias, but they will be mapped to a best-fit US-ASCII string in the e-mail address, which is generated from such an alias.

Cause:

Illegal characters either in public folder alias or any property

Solution:

1. Run script

$a= Get-MailPublicFolder -verbose -resultsize unlimited | where {$_.alias.contains(' ') -or $_.alias.contains(',')
 -or $_.alias.contains('@') -or  $_.alias.contains('(') -or  $_.alias.contains(')') -or  $_.alias.contains(':') -or  $_.alias.contains(';')}

2.  Take back up of alias and SMTP address using a command

$a | ft alias -Expand emailaddresses >c\temp\alias.txt

3. Use ASDI Edit on the 2010 server, and go to DC=<domain>, CN="Microsoft Exchange System Objects"

4. For each Public Folder listed in the file alias.txt, perform the below

  1.  Find the public folder object under CN="Microsoft Exchange System Objects" and go to the "mailNickname" attribute of the object and remove the spaces. 

More Information:

How to Remove Spaces from Recipient Aliases by Using the Exchange Management Shell

https://technet.microsoft.com/en-us/library/bb851499(v=exchg.80).aspx