I have been running Exchange 2010 for a while now, but over the weekend decided to retire Exchange 2007 which was running alongside it in a “just in case” kind of way. This turned out to be more hassle than I had expected. In principle removing your last Exchange 2007 box is simple enough: first check that that all the data has been migrated, then uninstall it from Control Panel. The catch is that Exchange will refuse to uninstall if it detects certain conditions.
The first problem I discovered was that my Exchange public folders had not replicated to Exchange 2010, even though I thought I had set this up. You are meant to run the script MoveAllReplicas.ps1, but I ran into an error that, from what I can tell, is a common one:
Set-PublicFolder : The parameter "Replicas" cannot be $null or an empty array.
Although I found many references to this error, I did not come across any direct solutions. However, I did find Microsoft’s public folder management utility – no, not the one built into the Exchange Management Console, but one of those little utilities created by a member of the Exchange team to make up for deficiencies in the official tools. This is called Exfolders, and replaces a similar tool called PFDAVAdmin. When I ran Exfolders I found I could not log on to the Exchange database, with the error reported being:
An error occurred while trying to establish a connection to the Exchange server. Exception: The Active Directory user wasn’t found.
This led me to an informative blog post that refers to this official post, which describes a problem which occurs on Exchange systems on which Exchange 2000 or 2003 previously existed. Read the post for more details; but the fix is to dive into ADSI Edit (Active Directory Services Interface Editor) which is a low-level editing tool for Active Directory similar in some respects to Regedit and equally hazardous. You have to find and delete the empty Servers container relating to the obsolete Exchange 2003 First Administrative Group.
No, it is not intuitive; yes, most would consider it a bug; and Microsoft now adds:
Removed the reference to upcoming fix (no fix current planned)
The benefit though was that ExFolders now worked. Using this tool I manually created public folder replicas on Exchange 2010 and replication happened at last.
I waited for replication to complete, then tried again with MoveAllReplicas.ps1. I still got the same error though. I went back to ExFolders and successfully deleted the replicas shown on the old Exchange 2007 box, but when I tried to delete the public folder database itself got an error stating that replicas existed. In consequence, Exchange 2007 could not be uninstalled. Of course I could just have shut the machine down forever; but I do not recommend this – you end up with references in Active Directory to an Exchange server that no longer exists, which only causes problems.
The solution was to go back to ADSI Edit and delete the reference to the obstinate Public Folder Store, as recommended by Microsoft’s Ben Winzenz here.
Exchange 2007 now uninstalled cleanly and I have the VM space I need to try Microsoft Lync, which I noticed getting some attention at Mobile World Congress last week.