Category Archives: Exchange

New Azure AD PowerShell Module and Windows Server 2008 R2

A new version of the Azure Active Directory Module for PowerShell was released in mid September 2014.  You can find the link to it here…

That’s great except if you are trying to install it on Windows Server 2008 R2.  If you read the link it looks like all you need is the version of .NET and PowerShell that comes with Windows 2008 R2 (3.51 and 2.0 respectively).

When you install the updated version of the AAD Module for PowerShell on a vanilla machine and launch it though you are greeted with this message…


That doesn’t look good!  I could never find any official support article but I found a couple of hints that it needed PowerShell 3.0.  So I installed Windows Management Framework 3.0 on my system and tested again and it worked.  You can download it here…

Note, if you are installing this on a production server, make sure you aren’t running any of the unsupported products listed under the System Requirements section.

Hope this helps!


Migrating Public Folders to Exchange 2013 / Exchange Online After Coexistence

If you are migrating from Exchange 2007/2010 to either Exchange 2013 or Exchange Online and your customer has Public Folders chances are you followed the following document from Microsoft for setting up coexistence with legacy Public Folders…

Now you’ve completed moving mailboxes to Exchange 2013 (or Exchange Online) and you want to migrate Public Folders to the new system so you follow one of the following articles…

Life is good.  You run the command…

Set-Mailbox -Identity <Test User> -DefaultPublicFolderMailbox <Public Folder Mailbox Identity>

…against a test mailbox and successfully access Public Folders.  You think you are all set and run…

Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false

…but, then to your shock, nobody else can get to the recently migrate Public Folders.

The problem is caused by when you setup legacy coexistence.  As part of this process you ran the command…

Set-OrganizationConfig -PublicFoldersEnabled Remote -RemotePublicFolderMailboxes PFMailbox1

Your Exchange Organization still thinks it should direct Public Folder traffic to a remote Organization.  To fix this, run the following command…

Set-OrganizationConfig -PublicFoldersEnabled Local

It will take awhile to take effect but, once it does, you should see the DefaultPublicFolderMailbox automatically change for your mailboxes.  To check run the following command…

Get-Mailbox | FT Alias,DefaultPublicFolderMailbox

Blackberry Enterprise Server and Exchange 2013

After a long Friday night I thought I would provide some insights in what needed to be done to get BES 5.x to work with Exchange 2013.  It was definitely not as easy as it should be.

First and foremost follow the article provided by Blackberry.  There are a lot of steps and, if you miss one, you’ll be in for some trouble.  Here’s the link to that article which includes sublinks that you’ll have to follow…

A couple of additional notes that helped me…

This requires either BES 5.0 SP4 MR2 (or higher) or BES Express SP4.  For BES Express you’ll also need to call Blackberry and get them to send you a special update.  You can reference KB33406. Note that, if you don’t have a support contract, you’ll either need to pay for the support call or open the support call through you’re wireless carrier.

You’ll need to update MAPI-CDO to version 6.5.8353.0.  You can download that here…  Updating this caused our first issue.  When you run it, it will act like it installed correctly but, on checking the CDO.dll file, it was clear that it didn’t update because the file was in use.  I ended up uninstalling the current version of MAPI-CDO, which stopped the necessary services, and then installing the new version.

In KB33413 the article references setting the RPCHTTPProxyMap_BES Registry value to “*=”.  Later in the article it tells you to change this Registry value to “” if you are setting up coexistence between Exchange 2007/2010 and Exchange 2013.  This appears to be where I ran into problems.  When starting the BES Controller Service after making these changes we got the following error…

MailboxManager::TestOpenMsgStore – OpenMsgStore (0x8004011d)

We ended up opening a case with Blackberry and found out it was caused by problems connecting to Exchange 2013 via RPC-HTTP.  Changing the RPCHTTPProxyMap_BES Registry value back to “*=” got us working again.  I asked if this would cause problems with coexistence with Exchange 2007/2010 and was told no.  Everything seems to be working so I’m assuming they are correct.  🙂

Good luck!

Exchange 2013 Lessons Learned

Below are some random lessons I learned doing my first Exchange 2013 deployment. Hope they help!

Exchange 2013 Versions

As of the time of this writing the third Cumulative Update (CU) is out for Exchange 2013 RTM. Cumulative Updates are similar to Update Rollups in previous Exchange versions in that they don’t require schema changes, etc. however they are full releases of the product similar to Service Packs in Exchange 2007/2010. So you don’t need to install Exchange 2013 RTM and then CU3, you can just do the install straight from the CU3 source (which is also why the Cumulative Updates are so large). You can download Exchange 2013 CU3 from here…

Server Preparation

As in Exchange 2007/2010, Microsoft has a really good install guide that walks you through installing/configuring all of the prerequisites needed for the various roles and OS combinations in Exchange 2013. They make it pretty simple. Basically you just copy and paste PowerShell commands and follow links to software downloads. Now, if only they would just build this into the setup routine for Exchange like they did with TMG Server. You can find the prerequisite guide here…

AD Preparation

Active Directory prep commands have changed slightly from previous versions of Exchange. Assuming you are installing Exchange 2013 in an existing Organization you would run…

Setup /PrepareSchema /IAcceptExchangeServerLicenseTerms

Setup /PrepareAD /IAcceptExchangeServerLicenseTerms

Setup /PrepareAllDomains /IAcceptExchangeServerLicenseTerms

Accessing the Exchange Admin Center

The Exchange Admin Center (EAC) replaces the Exchange Management Console as the GUI interface for Exchange 2013 management (the Exchange Management Shell is still alive and well and needed more so with Exchange 2013 than was needed for Exchange 2010). If the account you are using for installing Exchange does not have a mailbox one will be created during installation. That makes accessing the EAC simple. You just browse to https://CasServerName/ecp and you are in. If you already have a mailbox though on Exchange 2010 accessing the EAC is a bit more complicated. If you try to connect to https://CasServerName/ecp you will end up proxied to the Exchange 2010 ECP and be left scratching your head as to what to do next. To keep the proxy from happening use the following URL…


There’s a lot more new/different in Exchange 2013 but hopefully this will get you headed in the right direction.

Exchange 2010 and the Case of the Empty Server Container

I have seen several issues pop up with Exchange 2010 in regard to Public Folders.  They include:

  • Public Folder replication fails with Event 1020
  • Mail-enabled Public Folders do not receive email

These issues all link back to the same problem; an empty “Servers” container under an Exchange Administrative Group.  This typically occurs in an environment were you have migrated from Exchange 2003 and have decommissioned the last of the legacy Exchange servers.  To fix this issue do the following:

  1. Launch ADSI Edit and connect to the Configuration container
  2. Browse to CN=Services –> CN=Microsoft Exchange –> CN=OrganizationName –> CN=AdministrativeGroupName –> CN=Servers
  3. Verify the CN=Servers container is empty.  If it is right-click on CN=Servers and choose Delete from the context menu

More information on this error can be found in the following KB article.

Configure Conference Rooms in Exchange 2007

In Exchange 2007 you can use the following command to setup a Resource Mailbox to automatically book calendar appointments:

Set-MailboxCalendarSettings -Identity "RoomName" -AutomateProcessing AutoAccept

What about if you don’t want it to automatically book.  Instead you want the meeting request to go to a delegate (or delegates) who then can approve or deny the request.  You can use the following command:

Set-MailboxCalendarSettings -Identity "RoomName" -AutomateProcessing AutoAccept -ResourceDelegates "DelegateName" -AllBookInPolicy:$false -AllRequestInPolicy:$true

The theory is bascially the same in Exchange 2010 however all of these properties can be set in the Exchange Management Console under the mailbox properties.

The following article in the Microsoft Exchange Team Blog has more details on resource mailboxes:

How to Upgrade an Exchange 2007 CCR Cluster to SP1/SP2/SP3

I just had to upgrade an Exchange 2007 RTM CCR cluster this weekend to Exchange 2007 SP3.  This article is still the best reference.

We ran into a problem at Step 5 and Step 14 where the setup program failed reporting that there were still active cluster resources on the node.  When we investigated in the Cluster Administrator MMC we found that there was a resource named PBX-ClusterGroup-Servername.  After some investigation we found that this resource is related Symantec NetBackup.  NetBackup 6.0 contains features that are dependent on a new Common Services Framework (CSF) called, VERITAS Private Branch Exchange (PBX), thus the name.

In any event, if you just take this resource offline on each node prior to the upgrade, you will be able to run it without issue.