When I first came across the concept of using O365 REST-based APIs such as the Graph API and the Outlook REST API, I was overwhelmed with the immense number of possibilities that could be devised from such integration. However, what…
EWS Managed API Trace Listener
MSDN has some sample code showing how to implement a trace listener for the EWS Managed API (which is crucial for debugging EWS applications). However, the sample trace listener isn’t actually very good for a variety of reasons (it creates…
PowerShell/EWS: Searching for and deleting duplicate mailbox folders
We’ve had some cases recently where an issue with migration has caused the migrated mailbox to contain duplicate folders (e.g. there may be two Calendar folders). I have written a script that can process mailboxes and automatically remove duplicate folders. …
PowerShell: Remove duplicate calendar appointments
We regularly get requests for an automated way of deleting duplicate appointments from calendars (most often caused by migration issues or mistaken mailbox imports, but there are lots of reasons that you could end up with duplicates). So, here is…
PowerShell: Merge mailbox folders
Note: I have removed the script download from this page, as maintaining it in two places seems unnecessary. The new home for this script and any updates is here: https://code.msdn.microsoft.com/office/PowerShell-Merge-mailbox-e769c529. A couple of years ago I wrote a script…
EWS: Missing SOAP headers when using the EWS Managed API
We’ve recently had a few cases where some SOAP headers were missing from the request when performing specific operations and targeting specific Exchange versions. This resulted in incorrect data being returned. For example, if you Target Exchange2010 or higher and…
EWS: Performance issues when accessing multiple mailboxes?
We’ve had a few cases come through over the past few months regarding slow performance against Office Online from an EWS service application. Several of them have come down to a very simple .Net setting that isn’t necessarily obvious. In fact,…
PowerShell: Search public folders for items of a particular message class (ItemClass)
In addition to the mailbox search script, I have also written a sample script showing how to do the same search against public folders. It works in exactly the same way, but iterates public folder tree instead of the mailbox.…
PowerShell: Search mailbox for items of a particular message class (ItemClass)
The Search-Mailbox cmdlet can be used to perform various searches within a mailbox, and while it serves many needs, there are some searches that it can’t do. I wrote a PowerShell script to demonstrate how to perform a search of…
EWS: Streaming Notifications and Exchange 2013 (and Office 365 Wave 15)
Exchange 2013 introduced a new affinity model which means that streaming subscriptions to multiple mailboxes need to be handled in a different way to earlier versions. If you are connecting to a single mailbox, you shouldn’t have a problem, but…