SBS Migration – ActiveSync doesn’t work for some phones

Problem:

You are migrating from SBS 2008 to 2011 (may be a similar issue with SBS 2003) and you’ve moved over most mailboxes to the new server. The Exchange accounts that have not been moved work fine but ActiveSync on your device gives you errors (takes a while for it to resolve and comes back with “The settings for your account are incorrect” (note that this was the message on a BB Z10, the message varies on an iPhone)).

The event viewer on the Destination server has the following error:

Event 1109, MSExchange ActiveSync

Some Exchange ActiveSync traffic to the External URL https://mail.contoso.com/Microsoft-Server-ActiveSync is being blocked due to a misconfiguration of the virtual directory SOURCESERVER\Microsoft-Server-ActiveSync (SBS Web Applications). Please make sure that the External URL is stamped correctly using the Set-ActiveSyncVirtualDirectory cmdlet.

You redo the settings over and over to no avail.

Solution:

This one was a pain. The problem is that the External URL on the OLD SERVER (this is what threw me off originally) cannot point to the same External URL on the NEW SERVER.

This is what you do:

  1. Move the mailbox to the new server, I was careless and tried moving an 11GB mailbox, for your sanity, archive first.
  2. Do the following on any server
    1. Open up Exchange Management Shell
    2. Run Get-ActiveSyncVirtualDirectory -server OLDSERVER | fl
    3. Make note of the identity
      1. In my case it was: OLDSERVER\Microsoft-Server-ActiveSync (SBS Web Applications)
    4. Run Set-ActiveSyncVirtualDirectory -identity “OLDSERVER\Microsoft-Server-ActiveSync (SBS Web Applications)” -ExternalURL https://legacy.contoso.com/Microsoft-Server-ActiveSync

Let me explain what we did here. The conflict is between the external URL of the new and old server. So we are changing the external URL of the old server to a random one, it could be anything but I used legacy.contoso.com. Now, all routing for ActiveSync will point to the new server and not the old one.

Once this was done, the event log cleared up from that error.