Default HubSpot Blog

How to merge an Office 365 account with an on-premises AD account after hybrid configuration?

Written by Daniel Yim | May 25, 2018 4:49:00 AM

Once you have completed a hybrid configuration in your company, it turns out that the job is not done yet. After a quick verification whether the hybrid is set up correctly, you may notice that some of the users are not synchronized properly. In that case, you need to make some additional adjustments. If you hit a roadblock during the synchronization it is most probable that the problem will be related to user synchronization between local Active Directory and Azure AD. Common causes for this are:

Lack of rights to Organizational Units (OU) or AD objects (users, groups or computers) for a service account used by Azure AD Connect (AAD Connect)

The improper scope of objects synchronized with Office 365. In other words, perhaps an OU that contains a certain user object, group or computer was not selected in the AAD Connect configuration wizard.

You can encounter these problems when you run the synchronization from an on-premises AD to Office 365. But this can also happen the other way around when you run the synchronization from Office 365 to an on-premises AD or in both directions. Look at the most common scenarios here:

A user has an Office 365 account and no local AD account;

A user has an account in Office 365 and in local AD (this user had two accounts before the hybrid configuration was implemented to have access to services offered by Office 365);

A user has an account in Office 365 with an Exchange Online license assigned as well as an account in local AD with an on-premises Exchange mailbox (a single user has two separate mailboxes).

In this article, I will show you how to manage these situations in an environment with hybrid configuration and Centralized Mail Transport enabled.

A user has an account in Office 365 but not in local Active Directory

In this scenario, a user account is created in Office 365 in a hybrid setup. It is worth mentioning that this scenario is correct and supported by Microsoft. However, it causes problems for an Office 365 user when the user tries to access public folders on the on-premises Exchange server. This means that the user will not be able to access local public folders (legacy public folders) and any connection attempt will display an error:

Cannot expand the folder. The set of folders cannot be opened. Network problems are preventing connection to Microsoft Exchange

How to solve this problem

To solve the problem you need to run SMTP matching. This means that you need to create a local AD object with an SMTP address that matches the primary SMTP address of a user object in Office 365. Unfortunately, there are some limitations highlighted by Microsoft related to SMTP matching:

A user account that you want to run SMTP matching on needs to have an Exchange Online email address (the Exchange Online license is not required).

A user account that was originally authored in Office 365 can be SMTP-matched only once.

During the SMTP matching process, the primary address of an Office 365 user can’t be updated.

Every SMTP address needs to be unique, otherwise, the synchronization will fail and you may see this error:

Unable to update this object because the following attributes associated with this object have values that may already be associated with another object in your local directory services: [ProxyAddresses SMTP:john@example.com;]. Correct or remove the duplicate values in your local directory.

To match users in Office 365 with AD users, follow the steps below:

Log in to Office 365 and go to Exchange admin center.

Write down the primary SMTP address for a selected user in Exchange Online (if you do not have an Exchange Online license, you can take this address from user’s Office 365 login – in most cases it’s the same).

Create a user object in your local Active Directory with the same attributes (first name, last name, UPN, etc.) as displayed in Office 365.

Set up the primary SMTP address for a new AD object using the address from step 2. In Active Directory, look for the proxyAddresses attribute.

Force the synchronization of AD objects with Office 365 on the server with Azure AD Connect. Use the following cmdlet:Start-ADSyncSyncCycle -PolicyType Delta

After a successful user synchronization, you should see that the Sync type section shows Synced with Active Directory instead of In cloud.

 

Once the synchronization is finished, an Office 365 user should have access to on-premises public folders.

A user has both Office 365 and local AD accounts

Sometimes a company uses both environments to have access to different services offered by these two platforms. For example, the company decides to use Office 365 to have access to SharePoint Online and Skype for Business services. At the same time, the company maintains the on-premises Exchange Server.

However, when you set up a hybrid environment and synchronize directories via Azure AD Connect, this may duplicate user accounts or cause other sync issues. A single user can end up having two accounts – one in Office 365 and one in local Active Directory. If the company uses Skype for Business (Lync) in an on-premises environment, the synchronization can be even more complicated.

If that is the case, you should carefully plan the synchronization before using Azure AD Connect for the first time. By verifying attributes, UPNs and the SMTP address, make sure that all AD objects correspond to Office 365 objects. Additionally, when you have Skype/Lync on-premises you should think over what results you expect to achieve. For example, you may decide to migrate to Skype for Business Online and stop using the on-premises solution.

Generally speaking, if any problems appear in this scenario, you can run SMTP matching as well. If there are duplicates of user accounts, you need to remove them from Office 365 using the following cmdlet in Azure Active Directory Module for Windows PowerShell:

Remove-MsolUser -UserPrincipalName j.doe@example.com

Remove-MsolUser -UserPrincipalName j.doe@example.com -RemoveFromRecycleBin

For a user who has a duplicated account, you should check and correct attributes either in Office 365 or in local AD. In Azure AD Connect, you can find more details on fixing synchronization problems.

To get more information on Skype/Lync migrations, visit this TechNet website.

A user has one mailbox in Office 365 and one in an on-premises Exchange

It is one of those weird situations when a single user has one AD account but is connected to two mailboxes – one mailbox is in Office 365 and the second one is on on-premises Exchange (practically, it will be connected to on-premises via Autodiscover). This situation is very similar to the one described in the second scenario above, with the only difference being that an Office 365 user has the Office 365 license assigned (including a license for Exchange Online). As you can imagine, having two mailboxes in hybrid settings causes complications in email flow for that user. When the MX record points to Office 365, an email will get stuck in Office 365 mailbox and will not be delivered to an on-premises mailbox.

How to solve the problem

Unfortunately, in this case, SMTP matching will not help. The only result you would achieve after running the SMTP matching is having Office 365 and the on-premises accounts matched – this will not merge mailboxes though. Removing a license from an Office 365 user will not solve the problem either. The only method would be to remove the Office 365 user and recreating it via Azure AD Connect synchronization.

Note: Keep in mind that when when removing a user, that user will lose their Office 365 data. That is why before deleting the user account, make sure to create a backup copy of user’s data (OneDrive, Exchange etc.). If you need to repeat this procedure for a number of users, you may consider using a third party tool like CodeTwo Backup, which will also help you restore data to on-premises mailboxes.

To solve the problem follow the steps below:

Connect to an Office 365 tenant using Azure Active Directory Module for Windows PowerShell:Connect-MsolService

Then, remove the user by executing the following cmdlets:Remove-MsolUser -UserPrincipalName j.doe@example.com

Remove-MsolUser -UserPrincipalName j.doe@example.com -RemoveFromRecycleBin

Finally, recreate a user via Azure AD Connect by forcing the synchronization process (run the cmdlet on the server with Azure AD Connect):Start-ADSyncSyncCycle -PolicyType Delta

As soon as you activate the Office 365 license, you should see the following informat

This confirms that now Exchange recognizes the user’s mailbox. Once you have recreated a user, you can start restoring user’s data to Office 365.