In migration, Powershell can be a very crucial tool to achieve success and finalize projects within deadline or even fix issues.
During the time of working with Exchange we had lots of issues with users not able to send an email to their migrated colleagues due to some issues with contacts which was caused by the Legacy Exchange DN not being migrated with the user or lost due to some wrong deletion.
Once users try to send an email to that particular user with the missing Legacy Exchange DN. The receiving Exchange server will result an error and send it to the user as NDR message explaining to them that the error is due to not finding the particular address.
The solution to this particular problem is very simple especially if it’s couple of users however to resolve the address you’ll need to google and understand the language that Exchange server users to match the original used address in the missing user’s attributes.
The below script would work accordingly with whatever situation that faced me and it became very handy to me.
How to use:
1- Copy the script to a notepad and save as convert.ps1 on Desktop
2- Run script and try to type in powershell convert-X500 then hit enter.
3- Copy and paste the address you got from the error message above.
Once you copy and paste hit enter and you’ll get the final result
Note: Make sure you remove the @domain.local in the end
Function Convert-X500{ # Define the Legacy Exchange DN here Write-Host “”Enter your X500 Address here…”” -ForegroundColor Green -BackgroundColor Black $X500Source = read-host # Converts the various strings to the proper syntax $X500 = $X500Source.Replace(“_”, “/”) $X500 = $X500.Replace(“+20″, ” “) $X500 = $X500.Replace(“IMCEAEX-“, “”) $X500 = $X500.Replace(“+28”, “(“) $X500 = $X500.Replace(“+29”, “)”) $X500 = $X500.Replace(“+2E”, “.”) $X500 = $X500.Replace(“+5F”, “_”) $X500 = $X500.Replace(“@YourDC.localHere“, “”) Write-Host X500:$X500