Outlook Autodiscover and what to do when migrating from Exchange 2010 to 2013

#en, #exchange edit this page

Outlook Clients >= 2007 use Autodiscover to detect the connection settings to connect to the Exchange Server.

When a CAS Server is installed, the server hosts a virtual directory in IIS named “Autodiscover”.


Outlook and mobile phones contact this virtual directory and download the autodiscover.xml file if one of the following condition occurs:

- When you configure a mailbox
- When the mailbox is already configured but Outlook or the mobile phones is unable to connect to the Exchange server
- Outlook contacts periodically the Autodiscover service to update the connection settings if needed

The client discovers and connects to the Autodiscover service in a different way if located internal and external.

If Outlook is external

When the Outlook Client is outside the cooperate network it uses DNS to discover the Autodiscover URL by searching an A Record with autodiscover.domain.com or an SRV record that points to the public name.

If Outlook is internal

When the Outlook Client is inside the cooperate network it searches in AD for a SCP (service connection point) object. The SCP object is an entry for each CAS server in ActiveDirectory that contains the Autodiscover URL. You can check the SCP object by using the cmdlet Get-ClientAccessServer or ADSIedit. If you want to update the SCP records, use the cmdlet instead of ADSIedit.

What do I have to do if I’m upgrading from Exchange 2010 to 2013?

When you upgrade from Exchange 2010 to 2013 one of the first steps is to make the CAS 2013 internet facing. So clients get the autodiscover.xml file and settings via the Exchange 2013 servers. The CAS knows if the mailbox is hosted on an Exchange 2013 server, then the CAS sends you the settings to connect to the 2013 environment, or on the old 2010, then the CAS sends you the settings to connect to Exchange 2010 (CAS 2013 proxies the requests to 2010).

This is OK for external Clients. But for internal clients connections you have to update the SCP object from the old 2010 Exchange CAS server to point to the new 2013 CAS server. This is necessary because Exchange 2013 servers provide additional AutoDiscover information to clients to improve the discovery process. From this time when internal clients connect to the Autodiscover service they contact every time the 2013 CAS and get the connection settings.
You can update the SCP object and so updating the URL by using the cmdlet Set-ClientAccessServer like in the following example:

Set-ClientAccessServer CAS2010SERVER -AutoDiscoverServiceInternalUri https://cas2013server.domain.local/Autodiscover/Autodiscover.xml