With a default Exchange 2010 Outlook Anywhere configuration it takes around 30 seconds after Outlook 2016 startup before the client manages to connects to the Exchange server. The reason is that the Exchange 2010 Autodiscover service tells the client to try a regular RPC/TCP connection before resorting to a RPC/HTTP connection. This was easy to change in previous versions of Outlook but not in Outlook 2016.
I’ve seen plenty of people complaining about it on the Technet forums and elsewhere but I haven’t seen anyone getting a solution but I’ve found a few ways to solve the problem.
Outlook 2013 connection settings
Let’s look at how this was handled in Outlook 2013.
The easiest way was to go into account options and modify the connection settings by checking the On fast networks, connect using HTTP first, then connect using TCP/IP option.
Fast networks are all network interfaces with a link speed higher than 128Kbps which pretty much means all network interfaces unless you’re toying around with some obsolete dialup adapter.
Outlook 2016 connection settings
Now let’s look at the Outlook 2016 Connection settings.
That’s right. There are no Connection settings in Outlook 2016 and that’s because Outlook doesn’t expose any ways of configuring an Exchange server connection other than Autodiscover.
It is possible to set Exchange Server 2010 to prefer HTTP before TCP/IP (or rather RPC/HTTP before RPC/TCP) but that means that all clients will pick up that setting and all clients will connect to your CAS using HTTP, even clients on internal networks.
This is done using the Set-OutlookProvider Cmdlet in Exchange Management Shell:
Set-OutlookProvider EXPR -OutlookProviderFlags:ServerExclusiveConnect
The Set-OutlookProvider Cmdlet is documented at https://technet.microsoft.com/en-us/library/bb123683(v=exchg.141).aspx
As stated in the above documentation, running all connections over HTTP is not recommended for Exchange 2010 unless most clients use Outlook Anywhere as their primary connection method (it is recommended for Exchange 2013 and Exchange 2016 though).
“The OutlookProviderFlags parameter specifies that Outlook 2010 clients should connect using RPC over HTTP (Outlook Anywhere) before trying RPC over TCP connections. This increases the speed at which Outlook 2010 clients will connect when clients are primarily accessing Exchange over the Internet. The value can be set to ServerExclusiveConnect or to None to clear the flags. For Outlook 2010 clients that access Exchange over both organization intranets and the Internet, the recommended value is None, which is also the default setting.”
Configuring connection settings using group policy
It turns out that you can also configure the connection settings using Group Policy the same way as in earlier versions of Outlook.
This could be a better way if your clients mainly connect to Exchange from Internal networks but you still want to configure some clients for quick Outlook Anywhere access.
The GPO settings are found here:
User Configuration\Administrative Templates\Microsoft Outlook 2016\Account Settings\Exchange
The GPO settings that control the options previously found on the Connection tab are:
- RPC/HTTP Connection Flags
- RPC Proxy Authentication Setting
- RPC Proxy Server Name
- Only connect if Proxy Server certificate has this principal name
The Exchange 2010 Autodiscover functionality provides most values needed and the only thing you should need to change is to enable flag 4 of the RPC/HTTP Connection Flags.
The flags in the RPC/HTTP Connection Flags are:
- 1: Enables the ‘Connect to Microsoft Exchange using HTTP checkbox’ on the Connection tab.
- 2: Enables the ‘Connect using SSL only’ checkbox
- 3: Enables the ‘Only connect to proxy servers that have this principal name in their certificate’ checkbox
- 4: Enables the ‘On fast networks, connect using HTTP first, then connect using TCP/IP’ checkbox
- 5: Enables the ‘On slow networks, connect using HTTP first, then connect using TCP/IP’ checkbox
I have used Flags 1+2+3+4+5 which enables all checkboxes the way it used to look in Outlook 2013 for me.
If you don’t have a way to target only your Outlook Anywhere users or you don’t want to use a GPO for some reason you can use the registry to apply these policy settings too.
They registry key where the below values should be stored is:
The registry path normally doesn’t exist and has to be created.
Values and meanings
- ProxyServerFlags (DWORD)
Corresponds to the “RPC/HTTP Connection Flags” policy
Can have one of the following decimal values:
- 0 (Not configured = Autodiscover)
- 33 (Flags 1+5)
- 35 (Flags 1+2+5)
- 39 (Flags 1+2+3+5)
- 41 (Flags 1+4+5)
- 43 (Flags 1+2+4+5)
- 47 (Flags 1+2+3+4+5)
- ProxyAuthenticationService (DWORD)
Corresponds to the “RPC Proxy Authentication Setting” policy
Can have one of the following decimal values:
- 1 (Basic Authentication)
- 2 (NTLM)
- 3 (Negotiate)
- 4 (Certificate)
- ProxyServerName (Expandable String Value)
Corresponds to the “RPC Proxy Server Name” policy
Your Outlook Anywhere host name. I.e. mail.fourthcoffee.com
- ProxyServerPrincipalName (Expandable String Value)
Corresponds to the “Only connect if Proxy Server certificate has this principal name” policy
Your Outlook Anywhere principle name prefixed by msstd: