Since Exchange 2013 lots of things are changing and some technology’s that we are used to are being force out. Recently I was asked to performed migration form Exchange 2010 to Exchange 2016. I have done fair number of migrations but this was first to 2016. Everything went smooth. I encounter some small problems with Mailbox Database states and problems with Public Folder migration but nothing scary. Test users did not report any issues so we proceed with migration. On Monday user starter to report that Outlook is not connected without VPN. Strange how did I w missed it. Outlook Anywhere is setup correctly the EWS is reachable and all VirtualDirectorys are setup as should. Test-OutlookConnectivity end up in success. After some digging and taking closer look into Autodiscovery and Connection status of Outlook it came out instead of trying to connect using OutlookAnywhere it did try to use MAPIoverHTTPS.
Why even use MAPIoverHTTPS I will not repeat MS just fallow this Technet
Article. In Short it is more stable connection that allows pause resume states. In my short experience it not always works as it should and I notice sometimes it is not reconnecting during network switch but maybe it is still some misconfiguration of mine. Since this is the future I decided to set it up. I don’t know why by default it is set this way that Outlook Anywhere is not working. First you need to decide what mechanism you want to use and second setup appropriate settings in exchange. To do some there are two important tables form technet. And I advise to check this Microsoft configuration Guide
|Product||Exchange 2016 RTM||Exchange 2013 SP1||Exchange 2013 RTM||Exchange 2010 SP3|
|Outlook 2016 RTM||
|Outlook 2013 SP1||
|Outlook 2013 RTM||Outlook Anywhere||Outlook Anywhere||Outlook Anywhere||
|Outlook 2010 SP2 and updates KB2956191 and KB2965295 (April 14, 2015)||
|Outlook 2010 SP2 and earlier||Outlook Anywhere||Outlook Anywhere||Outlook Anywhere||
|Outlook 2007||Outlook Anywhere||Outlook Anywhere||Outlook Anywhere||
|Organization setting (MapiHttpEnabled value)||User or mailbox setting (MapiHttpEnabled value)||User or mailbox setting (MapiBlockOutlookExternalConnectivity setting)||AutoDiscover result|
|$true||$null||$false||MAPI over HTTP, internal and external|
|$true||$null||$true||MAPI over HTTP, internal only|
|$true||$true||$false||MAPI over HTTP, internal and external|
|$true||$true||$true||MAPI over HTTP, internal only|
|$true||$false||$false||Outlook Anywhere, internal and external|
|$true||$false||$true||Outlook Anywhere, internal only|
|$false||$null||$false||Outlook Anywhere, internal and external|
|$false||$null||$true||Outlook Anywhere, internal only|
|$false||$true||$false||MAPI over HTTP, internal and external|
|$false||$true||$true||MAPI over HTTP, internal only|
|$false||$false||$false||Outlook Anywhere, internal and external|
|$false||$false||$true||Outlook Anywhere, internal only|
Since I decided to use MAPI over HTTP internally and externally. I did go for this settins.
Setup Exterlna URL for mapi Virtual Directory
Get-MapiVirtualDirectory -server ServerName | Set-MapiVirtualDirectory -ExternalUrl „https://consto.com/mapi”
Test settings for test user.
Get-CASMailbox UserName | select *mapi*
MAPIEnabled : True
MAPIBlockOutlookNonCachedMode : False
MAPIBlockOutlookRpcHttp : False
MAPIBlockOutlookExternalConnectivity : False
- Set appropriate values using 2nd table.
Finally test user connectivity and apply setting to other users. As I mention I’m still getting some reports about reconnection problems but overall I’m glad that we don’t stuck in past. I like PowerShell clarity instead of constantly looking for options in windows, I like that Public Folders evolve and are more reliable and I think I will like MAPI over HTTP.