Tag 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… http://bit.ly/1qnyhmh.  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 “*=https://mail.example.com”.  Later in the article it tells you to change this Registry value to “example.com=https://mail.example.com” 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 “*=https://mail.example.com” 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 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.

Exchange Header Firewall

Exchange lists each hop in a message’s transmission in the email header.  This is very helpful for troubleshooting mail flow problems however it also exposes internal server names to the outside world.  If you would like to keep this information from being exposed externally you can implement a feature called Header Firewall on your Internet Send Connector using the following Exchange Management Shell command:

Remove-ADPermission -id "Connector Name" -User "NT Authority\Anonymous Logon" -ExtendedRights Ms-Exch-Send-Headers-Routing

Note that this command should be entered as a single command line string.