Monday, June 16, 2014

Exchange 2013 (SP1) - Migration - Part 10 - verifications and removal of Exchange 2007

Even after successful mailbox migration, we may want to maintain the Exchange 2007 server online to ensure that everything is working fine.

After a month or so (or whatever time frame is deemed appropriate), the server can be removed.

In my case, I'll remove it now - or after some verifications.


Mail and mailboxes

I have ensured that mail can be sent and received both internally and externally (to and from external recipients).

I have ensured that users can access their mailbox with both Outlook and OWA (those with smart phones would want to test ActiveSync).

I have run the following cmdlet to verify that all mailboxes have been moved:

[PS] C:\>Get-Mailbox -Server EX1
[PS] C:\>
[PS] C:\>Get-Mailbox -Server EX13-1 | select -first 3

Name                      Alias                ServerName       ProhibitSendQuota
----                          -----                ----------         -----------------
Administrator            admin                 ex13-1             Unlimited
Alex.Heyne               Alex.Heyne        ex13-1             Unlimited
Ella.Amaral               Ella.Amaral         ex13-1            Unlimited

No mailboxes remain on EX1 (the Exchange 2007 server). All have been migrated to EX13-1 (for concision, I only displayed the first three).

Address Lists

We should note, in the EAC (organization section), that several address lists are not "up to date". We also can read in the right pane (not shown in the screenshot below) that "This address list was created using the Exchange Management Shell. Use Exchange Management Shell to modify it."

So I go to the EMS and run the following commands:

[PS] C:\>Get-EmailAddressPolicy | Update-EmailAddressPolicy
[PS] C:\>Get-GlobalAddressList | Update-GlobalAddressList
[PS] C:\>Get-AddressList | Update-AddressList

Now, if we look at the page above, the "up to date" status is changed to "Yes" for all categories:

Offline Address Book (OAB)

Once again, mailbox users, both migrated users and test users created directly on the Exchange 2013 server, can send and receive messages.

However, when I attempt to download the OAB in Outlook 2010, I encounter various errors.

At one point, it appeared that there was an attempt to contact the Exchange 2007 server. There was a failure to connect, resolved only when I turned that server back on (it was turned off).

On subsequent attempts however, there was no such delay. Perhaps something was reset when I turned the server on (?).

Otherwise, consistent 0x80190193 errors were encountered (for several users on multiple attempts):

I discovered that this was caused by the SSL settings on the OAB virtual directory. With Exchange 2007, SSL is not required by default. With Exchange 2013, SSL is required for the OAB download. Unchecking the SSL requirement (and running iisreset /noforce at the command prompt) resolved this problem.

Users were able to consistently download the OAB after that. There was one 0x8004010F error but not on the second (and following) attempts.

One remark: since no OAB is designated for the mailbox database or the individual users, and since an OAB is apparently downloaded, I conclude that the default OAB is used even if it is not explicitly indicated:

[PS] C:\>Get-Mailbox | select -first 3 | fl name,*offl*

Name               : Administrator
OfflineAddressBook :

Name               : Alex.Heyne
OfflineAddressBook :

Name               : Ella.Amaral
OfflineAddressBook :

Note: I only show the first 3 but no other user has a designated mailbox either.

[PS] C:\>Get-MailboxDatabase | fl *off*

OfflineAddressBook :

Exchange 2007 uninstall

At this point, we can uninstall Exchange 2007.

First, we need to remove:

- The Exchange 2007 Offline Address Book
- Mailbox Databases (only one in my case)
- Storage Groups (once again, only one in my case)
- EX1 as a source server for the Send Connector (EX1 is the Exchange 2007 server)

Then we can uninstall Exchange 2007 in "Programs" (formerly Add/Remove programs).

Here are those steps in greater detail...

First, in the EMC of the Exchange 2007 server, I highlight the "Default Offline Address Book", right-click and select "Remove":

Note: this is at the Organization level, Mailbox Role section.

I used the EMC above but we could use the EMS:

Get-OfflineAddressBook "Default Offline Address Book" | Remove-OfflineAddressBook

Note: since I already removed the OAB with the EMC, I was not able to test this cmdlet but I believe the syntax is correct.

Next, I'll remove the mailbox database:

Note: this is at the Server level of the EMC, Mailbox section.

Here is the EMS command-line option:

[PS] C:\>Get-MailboxDatabase MBXDB1 | Remove-MailboxDatabase

Note: we can first run "Get-MailboxDatabase" alone to determine the name of the mailbox database.

Now I'll remove the Storage Group (same location as mailbox database):

Here is the EMS equivalent:

[PS] C:\>Get-StorageGroup SG1 | Remove-StorageGroup

When we remove the mailbox database and storage group, we are asked to confirm the operation and informed that the database and log files must be deleted manually:

WARNING: The specified database has been removed. You must remove the database file located in C:\SG1DB1\MBXDB1.edb from your computer manually if it exists. Specified database: MBXDB1

WARNING: The specified storage group has been removed. You must remove the log file located in C:\SG1LOGS from your computer manually if it exists. Specified storage group: ex1\SG1.

At this point, I attempted to uninstall Exchange 2007:

I click "Next" as needed and then uncheck all the server role and management tool options on this page:

However, I forgot something (to remove EX1 - the Exchange 2007 server - as one of the source servers for the organization-wide Send Connector). Consequently, the Readiness Check for the Hub Transport role fails:

I correct this by removing EX1 from the Send Connector source servers:

Here is the command line option:

[PS] C:\>Get-SendConnector | fl name,sourceTransportServers

Name                   : MYNET-SendConn-1
SourceTransportServers : {EX13-1, ex1}

[PS] C:\>Set-SendConnector MYNET-SendConn-1 -sourceTransportServers EX13-1
[PS] C:\>
[PS] C:\>Get-SendConnector | fl name,sourceTransportServers

Name                   : MYNET-SendConn-1
SourceTransportServers : {EX13-1}

If I attempt the uninstall now...

all the Readiness Checks pass and ultimately the uninstall process is successful.

No comments:

Post a Comment