Exchange 2016 & Office Online Server

pptxiconUpdate (May 9th): Office Online Server is now also available through MSDN here.

Update (May 4th): Office Online Server became available today. OOS is available on VLSC, language packs are on MSDN as well (perhaps a clue OOS will be available later on MSDN as well). Document modification option comes with additional licensing requirements, consult the release article for more information.

On April 26th, I gave a session on Exchange 2016 and Office Online Server – or OOS. Creating the session contents proved to hold some challenges. After agreeing on the session around the January timeframe, when OOS was still in Technical Preview, OOS got pulled a few weeks ago without notice. It was expected it would become Generally Available (GA) shortly after the release of SharePoint 2016, but that didn’t happen. To make matters more interesting, OOS was moved to Volume Licensing Service Center only, where its predecessor was freely available on the Microsoft download center. Currently, the status of OOS is that it is GA, and available on the VLSC site. The session and demo were based on the Technical Preview.

Back to the event, which was hosted by the always friendly and hospitable people from the Belgian E-Communications Community. At the office of Microsoft in Zaventem, Belgium, sessions were presented by 8 Microsoft MVP’s, Microsoft and sponsors, divided in 2 tracks: one Exchange-oriented track, and one track with Skype for Business related topics. Around a total of 60 people turned up in person for the event, and sessions were also  streamed live through Skype Meeting Broadcast. Excellent usage of available technology.

(picture by Michael van Horenbeeck)

After the opening keynote, Tony Redmond kicked off talking about Office 365 Groups, followed by fellow countryman Dave Stork talking about using Tools to deploy and manage Exchange. After the break, it was time for my session on Exchange 2016 and Office Online Server. Unfortunately, in the category 1st world problems, lack of an HDMI connector – required for presenting as well as streaming – on my laptop prevented me from doing the demo, and the remaining time was filled by a improvised Ask the Experts session on Exchange and Office 365, in which I was joined by the other Dutch MVP’s present. After that, Michael van Horenbeeck talked in his session about Advanced Identity & Authentication scenarios for Office 365. Jaap Wesselius closed the Exchange track with a session on the Do’s and Don’ts when using Exchange 2010 for Hybrid deployments.

The links above lead to the session recordings; a complete session overview including links to the recordings for the Skype for Business related sessions can be found here. My slidedeck – with caps of the demo – can be downloaded here. A page with links to all the slidedecks and recordings can be found here.

Knowledgebase RSS feeds

Update: Added Exchange 2016 and Skype for Business 2016 feed.

rss[1]Note: This is an update of an article from January, 2010.

Like most people I still use RSS feeds to keep track of news and updates from various sources. But did you know you can also keep track of Microsoft’s knowledgebase articles per product using RSS feeds? Great for keeping track of updates in RSS readers like Outlook or sites like Feedly, or creating triggers on sites like IFTTT (If-This-Then-That) to automatically send e-mail notifications.

Here are some RSS feeds on knowledgebase articles that might be of interest to you:

Exchange Server


Office 365

Lync/Skype for Business

For a complete list of the knowledgebase articles RSS feeds check here.

iOS 9 Outlook App & Lync 2013 App Issues

iphone6After Apple released iOS 9 to the public yesterday. From an Exchange or Office 365 perspective, iOS 9 supports the enhanced calendar features of Office 365 and Exchange 2016 when that is released. Unfortunately, incidents have been reported with the Outlook app and the Lync 2013 App.

Regarding the Outlook App, iOS9 users might not be able to start the Outlook App or the Outlook app will just crash. The far from ideal workaround offered by the Outlook team, is to reinstall the Outlook app.


Of course, this also requires users to reconfigure accounts and Outlook App settings, so organizations can expect some calls to the service desk by users who upgraded. Organizations can report on the currently registered iOS8 devices that syned in the last 30 days, using:

Get-MobileDevice | Where-Object {$_.DeviceOS -like 'iOS 8*' -and $_.whenChanged -gt (Get-Date).AddDays(-30)} | Select UserDisplayName, FriendlyName, DeviceModel, DeviceOS, whenChanged

This will product a list of users, the name of their device, the device model and OS and when it last synced with Exchange. This information can be useful when you want to proactively approach users with iOS8 devices.

For Lync 2013 users, there are sign-in issues when they have configured different region and language settings on their iOS device. Those users will be presented the following:


The issue has officially been confirmed through publication of KB3096704, which states:

“This problem is fixed in the Microsoft Skype for Business for iOS app that will replace Lync for iPhone and Lync for iPad when it’s released. No fix for this issue is scheduled for the current releases of Lync for iPhone and Lync for iPad”.

Since the Skype for Business app is not available yet, this is not good news. Mitigation is possible by matching the region with the language setting (or the other way around), after which you need to reinstall the Lync 2013 app from the store.

With all this in mind, should organizations wish to first test the new iOS against their Exchange environment for potential other issues, you can block iOS 9 from accessing your Exchange 2013 environment, or Office 365 tenant if you must, using the Access/Block/Quarantine feature. First you need to retrieve the reported DeviceOS string for iOS 9 for a device:

Get-MobileDevice | Where-Object {$_.DeviceOS -like “iOS 9*”} | Select DeviceModel, DeviceOSLanguage, DeviceOS

The reported DeviceOS strings then is used to create an ActiveSync device rule. For example, my iPhone 6 reports DeviceOS as “iOS 9.0 13A344”. To block these devices with iOS 9.0 and put them in quarantine, run the following:

New-ActiveSyncDeviceAccessRule -QueryString "iOS 9.0 13A344" -Characteristic DeviceOS -AccessLevel Quarantine

If you would like to know more about the Access/Block/Quarantine option, check out this article.

Outlook 2010 gets MAPI/http support

Office-2010-Outlook-Icon[1]Update: Hotfix KB2899591 pulled in Dec2014 due to possible issues, replaced in Jan2015 by KB878264.

A quick heads-up today as the recently released KB878264 hotfix adds MAPI/http support for Outlook 2010 clients. This will benefit organizations using Exchange 2013 SP1 or later considering switching from RPC/http to MAPI/http. The KB article includes details on additional fixes that are included in this hotfix as well.

You can request the hotfix for x86 and x64 versions of Outlook 2010 here.

Links to background information on MAPI/http, its impact on client performance, and impact on network traffic in an earlier blog post here.

Clearing AutoComplete and other Recipient Caches

Exchange 2010 Logo

Last version: 1.1, March 12th, 2016.

Anyone who has participated in migrations or transitions to Exchange has most likely encountered or has had to work around potential issues caused by the nickname cache. A “cache,” also known by its file extension, NK2 in older Outlook clients, is a convenience feature in Outlook and Outlook WebApp (OWA) which lets users pick recipients from a list of frequently-used recipients. This list is displayed when the end user types in the first few letters.

The potential issue revolves around end users using those lists to send messages, as the list contains cached recipient information. Because this information is static, it may become invalid at some point. Thus, when users pick recipients when sending messages, they may be sending messages to non-existent recipients or invalid e-mail addresses, which create issues like non-delivery of e-mail.

Read the full article over on ENow Solutions Engine blog.


Using the script mentioned in the article, which can be used to clear cached recipient information, is straightforward. It requires Exchange 2010 or later and Exchange Web Services Managed API 1.2 (or later) which you can download here. Alternatively, you can copy the Microsoft.Exchange.WebServices.DLL with the script as it will also look for it in the current folder.

The script Clean-AutoComplete.ps1 has the following syntax:

Clear-AutoComplete.ps1 [-Mailbox] <String> [-Server <String>] [-Impersonation] [-Credentials <PSCredential>] [-Type <Array>]


  • Mailbox is the name or e-mail address of the mailbox.
  • Server is the name of the Client Access Server to access for Exchange Web Services. When omitted, the script will use AutoDiscover.
  • Switch Impersonation specifies if impersonation will be used for mailbox access, otherwise the current user context will be used.
  • Credentials specifies the user credentials to use.
  • Type specifies what cached recipient information to clear. Options are Outlook  (Outlook AutoComplete stream), OWA (OWA Autocomplete stream), SuggestedContacts, RecipientCache or All. Default is Outlook,OWA.

So for example, suppose you want to clear the Autocomplete stream used by Outlook on a mailbox, you can use:

Clear-AutoComplete.ps1 -Mailbox Olrik -Type Outlook -Verbose

ScreenCapTo remove the Autocomplete stream used by OWA on your Office 365 account, you can use:

Clear-AutoComplete.ps1 -Mailbox –Credentials (Get-Credential) –Type OWA

Be advised that clearing the Outlook AutoComplete stream will only have effect for Outlook running in Online mode. Outlook caches this information as well in the OST file, leaving the options of running Outlook with the /CleanAutocompleteCache switch, or remove and let Outlook recreate the OST file. The temporary Stream_AutoComplete files*.dat files created under %USERPROFILE%\AppData\Local\Microsoft\Outlook\RoamCache are used by Outlook to speed things up.

Disabling Auto-Complete and Suggested Contacts
Alternatively, you can disable Auto-Complete, the equivalent of unchecking the Outlook option ‘Use Auto-Complete List to suggest names when typing in the To, Cc and Bcc line‘, by setting the following registry key:

Note: In the examples below, you need to modify the version number in the examples corresponding to the Outlook version you wish to apply these settings against. Use 16.0 as indicated for Outlook 2016, but change it to 15.0 for Outlook 2013, or 14.0 for Outlook 2010.

ShowAutoSug=0 (REG_DWORD)

To configure this setting using a Group Policy, use the following registry setting:

HKEY_CURRENT_USER\Software\Policies\Microsoft\office\16.0\Outlook\Preferences\ShowAutoSug=0 (REG_DWORD)

You can also disable Suggested Contacts folder, the equivalent of unchecking the Outlook option ‘Automatically create Outlook contacts for recipients that do not belong to an Outlook Address Book’, with the following registry key:

HKEY_CURRENT_USER\Software\Microsoft\office\16.0\Outlook\Contact\CreateContactsForOneOffs= 0 (REG_DWORD)

The related Group Policy setting is:

HKEY_CURRENT_USER\Software\Policies\Microsoft\office\16.0\Outlook\Contact\CreateContactsForOneOffs= 0 (REG_DWORD)

Feedback is welcomed through the comments. If you got scripting suggestions or questions, do not hesitate using the contact form.

You can download the script from my Technet Gallery here.

Revision History
See Technet Gallery page.



Outlook versions supporting Personal Archives and Retention Policies

Outlook 2013 IconIn an earlier article here, I mentioned which Outlook 2010 versions were eligible for Personal Archives.

Now, with the release of Office 2013, and Outlook 2013 in particular, it’s good to get an update on the Outlook versions and their support of Personal Archives and Retention Policies in Exchange Server 2010 or Exchange Server 2013.

The following Outlook versions support Personal Archives and Retention Policies:

Retail Licenses Volume Licenses
  • Outlook 2013 stand-alone
  • Outlook 2010 stand-alone
  • Outlook 2007 stand-alone
  • Outlook 2007 included with Microsoft Office Ultimate 2007
  • Outlook 2013 stand-alone
  • Outlook 2013 included with Microsoft Office Professional Plus 2013
  • Outlook 2010 stand-alone
  • Outlook 2010 included with Microsoft Office Professional Plus 2010
  • Outlook 2007 stand-alone
  • Outlook 2007 included with Microsoft Office Professional Plus 2007
  • Outlook 2007 included with Microsoft Office Enterprise 2007

Few notes:

  • As mentioned here, Outlook 2007 doesn’t support adjusting retention policies;
  • Personal Archives and Retention Policies require an Microsoft Exchange Server Enterprise Client Access License.

The case of the not updating Outlook for Mac 2011

exchange2007logo2[1]I had contact with a Twitter user on an issue with Outlook for Mac 2011 talking against Exchange Server 2007 on Small Business Server 2008.

When configuring a new account, Outlook for Mac reported “Account cannot be added.  Note that Outlook 2011 requires Exchange Server 2007 SP1 Update Rollup 4 or later.”


However, that couldn’t be right because that user claimed to be running a higher version of Exchange 2007. After manually entering the server name, a connection could be established and an initial download of folders and contents took place. However, items weren’t updated and contacts and calendar remained empty.

After trying and checking some things, I asked to turn on Outlook for Mac’s logging hoping to find something in the Exchange Web Services log (Outlook for Mac 2011 is EWS based). You can enable logging by checking Window > Error Log > Errors > Settings > Turn on logging for troubleshooting. After a while I was sent the log file Microsoft Outlook_Troubleshooting_0.log which contained the following excerpt:

2013-01-24 08:55:34.392,0xFFFFFFFF,Outlook Exchange Web Services,Info,"EWS: Response data received on thread=0x7d27bdb4, XML data=
<?xml version=""1.0"" encoding=""utf-8""?><soap:Envelope xmlns:soap="""" xmlns:xsi="""" xmlns:xsd=""""><soap:Header><t:ServerVersionInfo MajorVersion=""8"" MinorVersion=""3"" MajorBuildNumber=""297"" MinorBuildNumber=""0"" Version=""Exchange2007_SP1"" xmlns:t="""" /></soap:Header>

First, Exchange reports version which corresponds with Exchange 2007 SP3 RU9 (EWS can report slightly different version than actual version), so something else was wrong while that’s well above Exchange 2007 SP1 RU4.

2013-01-24 08:55:39.355,0xFFFFFFFF,Outlook Exchange Web Services,Info,"EWS: Sending request on connection=0x7dc89be8, URL=/EWS/Exchange.asmx, SoapAction="""""
2013-01-24 08:55:39.358,0xFFFFFFFF,Outlook Exchange Web Services,Info,EWS: Received response on connection=0x7d31dae8; status=500
2013-01-24 08:55:49.861,0xFFFFFFFF,Outlook Exchange Web Services,Info,"EWS: Sending request on connection=0x7d71a648, URL=/EWS/Exchange.asmx, SoapAction="""""	
2013-01-24 08:55:49.863,0xFFFFFFFF,Outlook Exchange Web Services,Info,EWS: Received response on connection=0x7dc26638; status=500
2013-01-24 08:55:39.359,0xFFFFFFFF,Outlook Exchange Web Services,Info,"EWS: Sending request on connection=0x7d31dae8, URL=/EWS/Exchange.asmx, SoapAction="""""	
2013-01-24 08:55:39.477,0xFFFFFFFF,Outlook Exchange Web Services,Info,EWS: Received response on connection=0x7d7005c8; status=200

I then noticed various EWS requests returned http status code 200 (means OK) but also 500’s, which correspond to “Internal Server Error”. It happened after various requests (e.g. SyncFolderItems, GetFolder, GetItem) but not for all requests.

Now, code 500 isn’t very helpful (general terminal failure) and a quick restart of IIS with iisreset /restart /noforce didn’t solve things.

After some digging it turned out the seemingly unrelated KB2264110 pointed in the right direction. I say unrelated, because it’s on messages not being updated on Blackberry Internet Service (BIS) after installing Exchange Server 2007 SP2. Turned out the performance counters on the Exchange 2007 server were corrupt and rebuilding them solved the issue.

To rebuild the performance libraries, perform the following steps from an elevated command prompt:

  1. CD %SystemRoot%\System32
  2. Run lodctr /R (/R is case-sensitive) which will rebuild all known counters
  3. Run wmiadap /f which will update the WMI performance classes
  4. Restart the Exchange 2007 server

After these steps, Outlook for Mac 2011 could sync again with Exchange Server 2007 SP3.

Exchange/Lync/Office/Sharepoint 2013 Visio Stencil Available

Microsoft published the integral Visio stencil for Exchange 2013 and Lync 2013. The stencil contains a whopping 317 icons to aid you in developing visual communications on design or architecture with regards to Exchange, Lync, Sharepoint or Office 2013.


To use the stencil, drop a copy in the “My Shapes” folder located in your “My Documents” folder and activate it using the Shapes window selecting More Shapes >My Shapes > FLEX_Stencil_112012 .

Stencils get updated frequently, for the latest versions with link, consult the toolkit page here.

Important Hotfix for Outlook 2013 Preview

Microsoft released a quick fix for a nasty bug in Outlook 2013 Preview, part of the Office Professional Plus 2013 Preview. The related knowledgebase article is kb2737132.

Note: Despite the warning that goes with pre-release software about not using it in production environments, I assume Microsoft knows people will and decided to produce a hotfix so quickly, which is quite unusual for preview software, also looking at the potential consequences.

The bug causes everything, i.e. e-mail, contacts, appointments and tasks, to be deleted permanently from an Exchange server when using the Cleanup Tools from Outlook. Nothing is recoverable through the Recover Deleted Items option.

To install the hotfix, follow one of the links below, depending on your architecture:

Storing Replies with Received Items

Not directly Exchange related but mail-related, I’d like to mention a function in Outlook which could make organizing e-mail a lot easier, depending on if and how you organize them of course.

Normally, when replying to an e-mail in Outlook, it will store a copy of that message in the Sent Items folder of that account. That is, assuming you have 1 Exchange account set up or multiple in conjunction with the DelegateSentItemsStyle setting as described here.

Now after a while, your Sent Items folder will be full of messages sent over the past period. For received messages you may have created folders and perhaps rules to automatically organize incoming e-mail in projects or customers folders. Wouldn’t it be nice if you can keep those messages with their replies automatically, instead of having to organize your Sent Items by manually distributing its contents over the projects and customers folders?

Well, you can actually, and it’s a setting in Outlook. Open up the File > Options and select the Mail settings. In the right pane, check the When replying to a message that is not in the Inbox, save the reply in the same folder setting:


Note that this setting in pre-Outlook 2010 versions is called In Folders Other Than The Inbox, Save Replies With Original Message.

Now when you reply to a message, it will save the reply in the same folder unless the message was in the Inbox.

Note that this setting will apply to all accounts and personal folders.