Matt Ellis

0x80200049 error when Outlook 2007 tries to download the OAB…

Posted by in Exchange

I found a decent fix for the 0x80200049 error when my Outlook 2007 client continuously failed to download the OAB. This only affected my client and persisted throughout OST rebuilds, Outlook profile recreation and various other troubleshooting steps. I started to notice the BITS errors in the System Log and found out that the BITS transfer queue was full of jobs. Because Outlook uses BITS to download the OAB the transfer queue being full causes the OAB download to fail. The resolution was to run the following command to clear…read more


Exchange 2003 Mailbox Powershell Report

Posted by in Exchange, PowerShell

Right, this will probably be so horrifically out-of-date for some people, but recently I’ve been doing a few Exchange 2003 migrations and have realised the importance of getting all the data you need before performing these migrations is quite high. Sure, you can export the data you find in Exchange System Manager but what if you want other details like PrimarySMTPAddress or whether Email Address Policy is enabled for the user, or what their quotas are? This is where this script comes in. This script will give you a CSV…read more


Enable or Disable Outlook Anywhere based on Group Membership

Posted by in Exchange, PowerShell

Lets face it – security guys HATE Outlook Anywhere. So, it is highly likely you’ve stumbled onto this page because you’ve been asked to disable it outright or only enable it for the trusted few. In that case, this will hopefully help. The script below will enable or disable Outlook Anywhere based on the membership of a distribution group. It will then give you a CSV output of everything it’s done. Note: The script doesn’t currently recurse groups, so nested groups will not work. Also Note: The script runs a…read more


Exchange CCR Health Script

Posted by in Exchange, PowerShell

Download the script here: Get-CCRHealth Script If you administer a multi CCR cluster environment then it’s useful to know the specific state of your server without having to go and look for it. I find monitoring screens that offer a quick glance on health really useful, so for the purpose of this blog I have cleaned my script up a bit and have adapted it to offer 3 output types. First of all, I need to stress that you need to run this script from a server with Windows Failover Clustering…read more


Exchange 2013 & Lync 2013…

Posted by in Exchange, Lync, News

Some exciting news this evening in the world of Microsoft. Exchange 2013 and Lync 2013 seem really exciting evolutions of the software. I will be installing in my lab and will post anything interesting I find along the way. Matt


Exchange SCR Health Script

Posted by in Exchange, PowerShell

Download the script here: Get-SCRHealth.ps1 In the same way that Standby Continuous Replication (SCR) has to be configured using the Exchange Management Shell, it can also only be managed and monitored through the Shell too. I’m not sure how many people this will help as Exchange 2007 isn’t the latest and greatest but I’ve created a script to keep me updated with the state of my storage groups configured with Standby Continuous Replication (SCR). The script should work out of the box in any 2007 environment as it finds the SCR replicas…read more


Exchange RPC Client Access service won’t start…

Posted by in Exchange, PowerShell

I was asked to go and look at a new Exchange 2010 implementation today as they couldn’t get Outlook to connect. It was a single server implementation with all roles on one box but the first thing I noticed was that the Exchange RPC Client Access service was not started. Starting it just resulted in it stopping immediately. After looking in the Application log I found an error with Event ID 1002 MSExchangeRPC: Failed to register service principal name ExchangeMDB. Failed with error code Access is denied (5). After a…read more


Export FullAccess & SendAs permissions for Shared Mailboxes…

Posted by in Exchange, PowerShell

Ever been asked to get an export of all the assigned permissions to a group of mailboxes? With this script you’ll be able to export the Full Access and & Send As permissions for whatever group of mailboxes you wish. This script works on Exchange 2007 but there’s no reason why it won’t work for Exchange 2010 either. You can customise the $Mailboxes query to gather whatever mailboxes you wish to export the details for. This is just a Get-Mailbox query. The export will be in the form of a…read more


OCS multi-party video conferencing not working (peer to peer is fine)…

Posted by in OCS

I was recently asked to help out with an OCS video conferencing issue whereby peer-to-peer video was working fine but as soon as a third person was added to the session making it a conference the following error occurred: Cannot perform the selected action. This action may not be permitted by the conferencing service. Please try again. If the problem persists, please contact your system administrator. Not the greatest error I’ve ever seen. Multi party video conferencing should work out of the box with OCS so I suspected firewall policy…read more


How to set your default domain in Office 365…

Posted by in Office 365, PowerShell

There are two ways in which to do this; one is the administration portal for your Office 365 deployment and one is using the Microsoft Online Services Module for PowerShell. The first is a bit boring and straight forward. The second at least gets you inside the management shell so helps you to start learning how to harness the power of PowerShell with Office 365. Office 365 Administration Portal Login to your Administration portal at Click on your company name in the top left right above where it says ‘Admin…read more


How to setup Office 365 without moving your DNS to Microsoft…

Posted by in Exchange, Lync, Office 365

I’ve recently setup a simple Office 365 deployment but instead of buckling to Microsoft and moving the DNS to their servers I wanted to set it up using my existing registrar for the DNS. The GUI at Office 365 doesn’t exactly make this crystal clear so I thought I’d show the steps involved in sorting it out. First, you need to add the custom domain to Office 365 and verify that you own it. On the Admin page, under Domains, click Add a domain. Type your domain and click Next….read more


Out Of Office (OOF) note not displaying correctly in Communicator

Posted by in OCS

I stumbled upon a little problem the other day when I was asked to change someone’s Out Of Office (OOF) message. After doing this I was notified that the OOF note showing in Communicator had not changed. After troubleshooting a perfectly working Exchange availability service for an hour I found out that this is by design. Took a bit of searching but found the following information on this page: The Out of Office note will replace any Personal Note you have previously entered, but the Out of Office note will not be updated until you…read more


Import-CSV Error…

Posted by in PowerShell

I had to create a crap load of contacts earlier for a migration using an import from an Excel file. I saved the Excel spreadsheet as a CSV file and went to run my script against it. I got this error: Import-Csv : Cannot process argument because the value of argument “name” is invalid. Change the value of the “name” argument and run the operation again. Confused me for a bit until I realised that I had an empty column in the CSV file. It was trying to read in…read more


How to archive disabled & hidden users with Enterprise Vault…

Posted by in Enterprise Vault

We recently introduced and zero day policy for leaver mailboxes but in doing so we realised that EV couldn’t archive mailboxes that were hidden from the GAL or disabled. This wasn’t very good for a policy that was meant to archive mailboxes of disabled and hidden users… After a bit of googling I found that we could do this with a couple of registry keys and I can report that it works pretty well: HKLM\Software\KVS\Enterprise Vault\Agents ProcessHiddenMailboxes = 1 (DWORD) HKLM\Software\KVS\Enterprise Vault\Agents ExcludeDisabledADAccounts = 0 (DWORD) Don’t ask me why…read more


Communicator for Mac fix for Lion…

Posted by in Lync, OCS

For those of you disappointed when Lion came out to find that anything later than version 13.0.0 of Communicator for Mac was basically unable to do anything (and I mean, anything) on Apple’s new OS, there is finally a fix from Microsoft. Get it here: