ServiceConnectionPoints

Just been doing some reading on SCP's and how they are used by Exchange 2007.  They are not something that I have come across before so thought I would share what I managed to put together...

The 'service-connection-point' class is defined in the schema and the SCP objects published in AD contain information that various applications can use to direct clients to bind to a particular service.  Exchange 2007 makes use of SCP's to advertise autodiscover service information specifically.

Clients, such as Outlook 2007, will search against a GC to locate SCP's in the forest by querying AD for objectclass=serviceconnectionpoint.  In E2K7 during the setup of the Client Access Server role autodiscover will create an SCP object (obviously with an objectclass of serviceconnectionpoint) under the container:

CN=Autodiscover,CN=Protocols,CN=<CASServer>,CN=Servers,CN=Exchange Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services

By default the serviceBindingInformation attribute of this object will be updated during setup with the autodiscover service url:

https://<CASServerFQDN>/autodiscover/autodiscover.xml

The client will follow this url to determine configuration information for some mobile devices for example, or to provide access to the OAB.

This url can be changed using the set-clientaccessserver cmdlet with the parameter -AutodiscoverServiceInternalURI.

(You might want to change this location if say you are using a DNS round-robin to control which CAS servers are being used internally for clients to query for autodiscover services...?)

The other set-clientaccessserver cmdlet parameter you might want to set is -AutoDiscoverSiteScope.  By default Outlook 2007 queries AD to locate the autodiscover SCP's and chooses one at random. If you have set a site scope then Outlook sorts those with the same AD site to the top of the list and randomly chooses one of those.  (That is the same AD site that the client is in - not the mailbox for example.)

This might be useful if you know that your clients with mailboxes in Exchange Site A, are all a member of a specific set of AD sites and you therefore want to control which clients use which CAS server by their AD site membership.  By running the cmdlet with a multi-valued property of say SiteA,SiteB the keywords attribute is populated with the values 'Site=SiteA,SiteB'. Outlook will put those with [Site=mysite] to the top of the list it uses.

scpsitescope

To find out more about autodiscover have a read of this whitepaper on Technet: 'Exchange 2007 Autodiscover Service'  There is also some specific information about the SCP object and its attributes on MSDN here.