I'm planning to migrate an existing Windows Server 2012 R2 environment to Windows Server 2022. Does the migration order matter? Should I replace the domain controllers first, or start with the member servers? I'm especially interested in whether fresh builds are preferable to in-place upgrades and whether any replication prerequisites could affect the process.
3 Answers
For the domain controllers, the usual safest approach is to build new 2022 servers, join them to the domain, promote them, transfer the required roles, verify replication and services, and only then demote and remove the old 2012 R2 controllers. In-place upgrades can work, but fresh deployments make rollback and troubleshooting much easier. I’d handle the domain controllers first, then migrate the member servers based on their individual dependencies.
Before adding newer domain controllers, check which replication method the domain uses. Environments that originally came from very old Windows Server versions may still use FRS for SYSVOL. Windows Server 2016 and newer domain controllers require SYSVOL to use DFSR, so migrate from FRS to DFSR first if necessary. If the domain already uses DFSR, adding 2019 or 2022 controllers should generally be straightforward, assuming the forest and domain health checks pass.
There isn’t a universal requirement to upgrade through every intermediate Windows Server release. A 2012 R2 member server may need an intermediate upgrade path depending on its role and Microsoft’s supported upgrade matrix, while a new replacement server avoids that concern entirely. Check application compatibility, backups, licensing, DNS, and functional-level requirements before choosing in-place upgrades for any member servers.
The replication prerequisite is easy to overlook: being on DFSR matters more than simply having a particular domain functional level. Verify that before planning the domain controller replacements.

The key rule is promote the replacement controller before demoting the old one. Don’t remove the last working older controller until the new environment has been fully tested.