Wednesday, November 27, 2013

Converting a Mail User to a Remote User Mailbox

I have an client with an existing Office 365 implementation and a separate on-premises Exchange organization. As part of linking these two together into hybrid mode, the local AD account became a Mail User.

A Mail User is a local AD account with an external SMTP address configured. This allows the user to have an email address in the GAL, but is not a local Exchange mailbox.

To move mailboxes, this Mail User needs to be configured as a Remote User Mailbox. A Remote User Mailbox also has a proper remote routing address property configured.

I couldn't find any documentation on performing this process. However, I did find a script that indicates it fixes up user accounts when a mailbox move to Office 365 does not complete properly. I used this script to identify the changes that needed to be made.

The script is here:
The changes that need to be made are:
  1. Configure the user attribute targetaddress to contain the remote routing address for the mailbox. This should be in the format of In my case it would have been
  2. Set the msExchRemoteRecipientType attribute for the user account to equal 4.
  3. Set the msExchRecipientDisplayType attribute for the user account to equal -2147483642. (yes, this is a negative value)
  4. Set the msExchRecipientTypeDetails attribute for the user account to equal 2147483648.
Those steps changed the Mail User to a Remote User Mailbox. However, I was still unable to move the mailbox from Office 365 to the on-premises Exchange. This was due to the ExchangeGUID attribute not being set properly on the local user account. To fix this, I performed the following:
  1. In Office 365: get-mailbox testmailbox | fl ExchangeGUID
  2. In on-premises Exchange: set-remotemailbox testmailbox -ExchangeGUID 12345678-1234-1234-1234-123456789abc (note GUID is from step 1)
After setting the ExchangeGUID moves to the on-premises Exchange worked properly.

UPDATE: See a similar procedure for room mailboxes at: 

UPDATE: While the above seemed like a good procedure at the time. I've since become aware that you can use Enable-RemoteMailbox in this same scenario to fix up the local mail users to remote user mailboxes. For a script to do it on a whole OU, see here:


  1. Thank you. This was very helpful!

  2. Thanks for the info. Be aware that if you are in hybrid mode then the enable-remotemailbox must be used along with the set-remotemailbox with the ExchangeGUId of the cloud mailbox being the parameter

    1. Under normal circumstances the Exchange GUID should be synced back from Azure AD to on-premises AD by Azure AD Connect. We should only need to manually set the Exchange GUID if sync is broken somehow or we forgot to enable the Exchange hybrid option in Azure AD Connect.

  3. Thanks man, doing steps A1-A4 also solved an issue for me where it was not possible to send a user mails from an external domain.