Author Archives: Bill Wilder

About Bill Wilder

My professional developer persona: coder, blogger, community speaker, founder/leader of Boston Azure cloud user group, and Azure MVP

Using PowerShell/Office 365: Configure Outlook Web Access to Download .XML Files



Office 365 users can access email from one of many native applications, but also from the web browser using the venerable “OWA” (Outlook Web Access) found at Below the friendly Office 365 banner, your email messages are available at your fingertips.


If an email contains attachments, you might be surprised to find out that some attachments are not allowed. For example, XML files. You might see something like the following. The “do not enter” icon is telling you that downloading these files is not supported.



If you click on the files, you will get a pop-up error confirming this:


But you can fix this. It is easy, but I had a hard time finding all the right pieces. Thus, this blog post.

Default Attachment Support

You will find that some attachment types will work. For example, .zip is commonly supported. The exact list depends on what your administrator has configured, but unless .zip was expressly blocked, it should work by default.

But not every file extension you care about will work.

Enabling Attachment Support

Let’s suppose you wish to allow for .xml files to be downloaded. By default, these are blocked.

Here’s what you need to make this happen:

  1. Administrative access to your Office 365 tenant
  2. Download the needed PowerShell cmdlets
  3. Run the cmdlet to enable the desired extensions
  4. Celebrate

If you do not have administrative power, team up with someone who does.

Download the two packages mentioned in step 1 of this Microsoft post which are:

  • Install the 64-bit version of the Microsoft Online Services Sign-in Assistant from here – again, be sure to grab the 64-bit version if you have a 64-bit operating system image (which is likely), and that’s the one I used.
  • Install the .msi file at the bottom of the page from here – as of this writing, it was “AdministrationConfig-V1.1.166.0-GA.msi” but the version number in the filename may change over time.

These are both very quick installs and you can choose all the default values.

Now your PowerShell bits should be resident on your computer.

Before you get on with it, double check that you have your PowerShell execution policy set to allow RemoteSigned (at least). This can be checked via:


If the value

PS v2:\> (Get-Command Set-ExecutionPolicy).ModuleName


(Get-Command Set-ExecutionPolicy).ModuleName

Update-Help -Module Microsoft.PowerShell.Security

(You may need to run the shell as Admin)



Set-ExecutionPolicy RemoteSigned

Per documentaDownload the PowerShell cmdlets for

Set-ExecutionPolicy RemoteSigned
Get-OwaMailboxPolicy | Set-OwaMailboxPolicy -BlockedFileTypes @{Remove = ".xml"}
Get-OwaMailboxPolicy | Set-OwaMailboxPolicy -AllowedFileTypes @{Add = ".xml"}
Get-OwaMailboxPolicy | Set-OwaMailboxPolicy -BlockedMimeTypes @{Remove = "text/xml", "application/xml”}
Get-OwaMailboxPolicy | Set-OwaMailboxPolicy –AllowedMimeTypes @{Add = "text/xml", "application/xml”}





Be careful choosing the file extensions you enable. Allow only those you are comfortable with and for which there is a real need. Being too open here could lead to exposing users to phishing or other attacks using malicious downloadable payloads.


Talk: Running Azure Securely — PART I — Boston Azure 18-Oct-2018

At most recent Boston Azure meeting I give (what turns out to be…) the first part of a multi-part talk on Running Azure Securely. Even though I did not cover all this content, I’ve attached the whole powerpoint deck below.


Please watch for a Part II to be scheduled.

Talk: Running Securely On Azure

On Tuesday evening 27-Mar-2018 I had the pleasure of speaking to the Nashville Azure group about keeping workloads safe in the Azure cloud. Was a great group with a lot of interesting questions and dialog. They even helped to answer each others’ questions when I didn’t have answers, which is the best outcome of all.

For those interested in the deck I used, please find it below.


Talk: SQL Saturday 694 – Azure SQL Database – not just a cloud version of SQL Server

Spoke today to a small crowd of hardy soles who braved the snow to make it to SQL Saturday 694 – Providence – held at nearby Bryant University in Smithfield.

My slides are included below.

Azure SQL DB – Not Just A Cloud Version of SQL Server – SQL Saturday RI – 09-Dec-2017

Talk: SharePoint Saturday Burlington – Gentle Introduction to Azure

We first looked at how we might solve a random StackOverflow question using Azure Logic Apps, Azure Function Apps, the nifty service, and a look at how a little Cognitive Service action could be woven in. A random walk around other Azure features followed. Some reactions were memorable – my favorite, because I completely agree: Why would I ever want to run my own SharePoint instance when the Office 365 service is available? And a bunch of other good questions.


Talk: SQL Saturday Boston – Azure SQL DB, not just a hosted version of SQL Server

This past weekend I participated in SQL Saturday BI Boston in Burlington, MA. I spoke about Azure SQL Database, explaining why Azure SQL Database is much more than just a hosted version of SQL Server. The slides I presented are here:

If you are local, you may be interested in learning more about Azure by checking out @bostonazure and You can find me on twitter here: @codingoutloud.