We're Hiring!
Take the next step in your career and work on diverse technology projects with cross-functional teams.
LEARN MORE
Mountain West Farm Bureau Insurance
office workers empowered by business technology solutions
BLOG
7
29
2020
1.28.2022

How to Migrate Azure AD Connect to a New Server Within the Same Forest

Last updated:
2.5.2021
1.28.2022

With Windows Server 2008 reaching end of life, decommissioning the old servers still running in your production environment poses a serious security risk. Sometimes you still have some critical services running on them that need to move to another server before they can be decommissioned. Recently I had to migrate Azure AD Connect from an old 2008 domain controller to a new Windows 2019 server.

Most of the guides I found online only talk about how to do a fresh install of Azure AD Connect. I wanted to be able to preserve all the existing rules and settings and not disrupt anything for the users. It is possible to manually document all the settings by digging deep into the Azure AD Connect tool, but there is always a chance to miss something.

Here are the steps I followed to do it.

  1. Discovery: Getting your current configuration is very important discovery step. You should also make note of the service account used. A handy command to get your current configuration is:
    Get-ADSyncServerConfiguration –Path C:\Projects\AADMigrate\DC1
  2. Install Azure AD Connect on the new server. Choose custom settings. We will be using the option to import synchronization setting from an existing server. This is currently in public preview.
  3. Copy the MigrateSettings.ps1 file. You can find it in the Azure AD Connect tools directory onthe old Azure AD Connect server. The default location is C:\Program Files\Microsoft Azure AD Connect\Tools.
  4. Export the current configuration using the PowerShell script. The output will be saved in C:\ProgramData\AADConnect\Exported-ServerConfiguration with a randomly generated GUID added at the end.
  5. Copy the exported data folder to the new server. This will be used in the coming steps.
  6. Return to the installation wizard on your new server.
  7. Select the last option that says Import synchronization settings and then specify the location. Browse to the location where you copied the exported data in step 5 and select the MigratedPolicy.JSON file to import the settings.

Set the synchronization to staged mode but do not sync anything at this time. This is because we still have to disable sync from the original server to avoid any issues.

At this point you have the migrated configuration and applied configuration in JSON format. It is recommended to compare them for any changes. I used a tool called Beyond Compare to compare both files and note the differences. Of course, you will expect the application version, server names and such to be different.

Go to the original server and launch Azure AD Connect. Select configure and then enable staging mode. This will disable synchronizations from this server to Azure AD.

Return to the new server and launch Azure AD Connect again. Choose configure and this time enable synchronization.

Make sure to check Azure AD Connect Synchronization Utility for any sync errors. Do the same with the Azure AD Connector Health in Azure AD. Monitor it for any ill effects of the migration for a few days.

If all is well, you can continue to remove Azure AD Connect from the old server altogether to complete the decommissioning of your old Windows 2008 server.

Resources used:

Recent Blog Posts

lunavi logo alternate white and yellow
2.15.2022
02
.
15
.
2022
Service Changes Coming to Microsoft 365 & Office 365

The NCE offers new subscription terms including 12-month and 36-month plans priced lower than monthly contracts. In addition, it is easier to add seats, cancellation policies are more consistent, and there are two promotional options to lock in a better rate for your current renewal. However, the mandatory new plans do include price adjustments.

Learn more
lunavi logo alternate white and yellow
1.28.2022
01
.
21
.
2022
Automate Your Cloud with Azure Bicep

Azure Bicep is a great way to implement Infrastructure as a Code to automate the provisioning of Azure resources. In this post, I’ll get you started by describing how Bicep language works as well as key differences and similarities between Bicep and ARM Templates.

Learn more
lunavi logo alternate white and yellow
1.28.2022
12
.
22
.
2021
Lunavi Response to Log4j Vulnerability

The log4j vulnerability is affecting many Apache systems. Learn how Lunavi is responding to this ongoing threat.

Learn more