Acquiring OAuth2 access tokens for automating Exchange Management Shell cmdlets

Overview At present, there are no configurable permissions available for new Application Registrations in Azure Active Directory allowing to acquire OAuth2 tokens for automating Exchange Management Shell cmdlets. This work is currently being investigated by engineering and we hope to be in a position to provide such functionality in the future. That said, there is…

0

Troubleshooting EWS Applications using SOAPe

SOAPe is a tool that was developed primarily for testing and troubleshooting EWS, though can also support other web services.  It has a built-in EWS trace analyser that can assist in identifying issues and spotting errors. SOAPe is available from Github, and full source is published: https://github.com/David-Barrett-MS/SOAPe Analysing EWS Traces The EWS Managed API (also available…


Forwarding a message as an attachment using Graph or REST

There isn’t currently an easy way to forward a message as an attachment using REST, as the message: forward command does not have this option.  However, with the beta API, it is now possible to forward as attachment using the following technique.  Note that it is only possible to retrieve the MIME content of the…


Querying the Office 365 Management APIs using Postman

Overview This blog post demonstrates how to create an app registration in Azure Active Directory and how to use PostMan to test access and query the Office 365 Management Activity API and Office 365 Service Communications API. For troubleshooting information please visit the official page: Troubleshooting the Office 365 Management Activity API. Note: Service Communications…

0

Azure Daemon Application using EWS with OAuth

We’ve got a fair few samples for implementing a daemon application (one that requires no user interaction) using OAuth against Azure endpoints, but I couldn’t find a specific example for EWS.  This guide describes how to set up an application (register it in Azure) and then obtain the correct permissions to be able to run…


Transport Agent: Discard Mailbox-Full type of NDR

Hello folks, me again. It was some time I didn’t have the opportunity to blog about Transport Agents so I thought to write something about this. This week I have been working with a customer desiring to block specific types of Non-Delivery Reports. In the example, the idea is to block NDR’s such as the…

0

Outlook’s slow add-ins resiliency logic and how to always enable slow add-ins

Overview This post explains how to deploy registry settings that would force Outlook to always load a specific add-in. The information in this post only applies to slow (VSTO) add-ins. If Outlook disables your add-in to prevent a crash, this blog post isn’t for you. Requirements Outlook 2013 or 2016. Information Outlook 2013 and 2016’s…

7

Configuring and managing Outlook’s Autocomplete Cache

Overview Outlook cannot be configured for selective (criteria based) caching of entries in the autocomplete stream. In addition, individual entries cannot be removed by standard programmatic means. Individual entries can be removed manually using the Outlook client. More information The autocomplete stream is a set of recipient property rows that are saved as a binary…

0

PowerShell: Convert ConversationHistory from UserCreated to a Default Folder

Time for a new article, this time talking about Conversation History Retention Policies. I have recently been working with some customers who reported that Retention Policies applied to Conversation History would not get applied. After a lengthily investigation it appeared the issue was due to the “Conversation History” folder was not of type “CommunicatorHistory” but…

0

PowerShell: Deploying Outlook ribbon customisations

The Outlook ribbon can be customised by users, and any such changes are stored in an Xml file in the user’s AppData folder (by default, this will be %LocalAppData%\Microsoft\Office – though this can be changed to roaming AppData using a registry key).  Sometimes a company may want to have specific functionality (or custom functionality) available…