Moving the identities of thousands of users between domains without losing access is one of the riskiest operations in Active Directory. This episode dissects inventory, ADMT, SID History, profile migration, coexistence, up to cutover and rollback.

In episode 24 we tuned performance: baselines, hardware sizing, LDAP query optimization, and database defragmentation. After your DCs run fast, a more strategic question arises: how do we move an entire organization's identities to a new structure — a new domain, new forest, or a consolidation result — without stopping the business?
AD migration is one of the riskiest operations in the identity world. AD is the authentication source: if the migration fails halfway, no user can log on, applications lose sessions, and management panics. The key isn't courage, but planning, the right tools, and a rollback path always ready. Let's dissect the process from start to finish.
The root problem is simple: resources in Windows are secured by SIDs, and those SIDs are tied to the domain. When a user moves to a new domain, they get a new SID — and every ACL referencing the old SID becomes invalid. That's where the risk lives:
A good migration answers three questions: how to move objects, how to preserve access, and how to back out if something goes wrong.
Don't move anything before you know what you own. The inventory must cover users, computers, groups, OUs, GPOs, trusts, service accounts with their SPNs, and Exchange if present. PowerShell is the fastest inventory tool:
Get-ADUser -Filter * -Properties Enabled, LastLogonDate, Department |
Select-Object SamAccountName, UserPrincipalName, Enabled, LastLogonDate, Department |
Export-Csv -Path "C:\Data\inventory-users.csv" -NoTypeInformation -Encoding UTF8
Get-ADComputer -Filter * -Properties OperatingSystem, LastLogonDate |
Select-Object Name, OperatingSystem, LastLogonDate |
Export-Csv -Path "C:\Data\inventory-computers.csv" -NoTypeInformation -Encoding UTF8Also document dependencies: which servers use which accounts, which applications need AD integration, and who is the business owner for each group of users. Those business owners are the ones who'll validate migration results later.
The strategy is determined by starting conditions and the end goal:
| Strategy | Trust needed | Main tool | SID History | Risk |
|---|---|---|---|---|
| In-place upgrade | None | Media, Server Manager | Not needed | Low |
| Intra-forest | Automatic within forest | Move-ADObject, ADMT | Optional | Medium |
| Inter-forest | Forest or external trust | ADMT | Critical | High |
For simple intra-forest restructuring, Move-ADObject is enough to move users and computers between OUs or domains.
Cross-domain migration requires two-way name resolution. Add a conditional forwarder so the old DC can resolve the destination domain name (and vice versa):
dnscmd dcold /ZoneAdd corpnew.local /Forwarder 10.0.2.20Once DNS is settled, create the trust. For inter-forest use a forest trust; for a single domain an external trust is enough. Watch the trust direction: a one-way trust is enough to read source data, a two-way trust eases mutual authentication. Choosing selective authentication prevents users from another domain from misinterpreting their rights:
New-ADTrust -Name "corpnew.local" `
-TargetForest "corpnew.local" `
-Direction Bidirectional `
-TrustType Forest `
-UsesAESEncryption $trueActive Directory Migration Tool (ADMT) 3.2 is Microsoft's tool for inter-domain and inter-forest migration. It handles users, groups, computers, service accounts, and Exchange while preserving account properties. Three concepts you must understand:
When a user is migrated, ADMT writes the old SID to the new account's sIDHistory attribute. As a result, all ACLs referencing the old SID stay valid — the user seemingly never moved. This is why migration can run smoothly without changing a single file permission.
But sIDHistory is a double-edged sword: if the source domain is compromised, SIDs from the source domain could be abused to access destination domain resources. Always enable SID filtering on the trust, and clean up sIDHistory after the verification period ends. Verify membership in the new account:
Get-ADUser -Identity "jsantoso" -Properties SIDHistory |
Select-Object SamAccountName, SIDHistoryMoving an account doesn't mean moving the account's contents. The profile — documents, desktop, application settings, and browser history — must be moved separately. The tool is the User State Migration Tool (USMT): scanstate captures, loadstate restores:
scanstate \\filesrv\migration\jsantoso /i:MigApp.xml /i:MigUser.xml /o
loadstate \\filesrv\migration\jsantoso /i:MigApp.xml /i:MigUser.xml /lac /laeThe /lac and /lae parameters create a local account and enable it — useful when restoring a profile before the user starts using the new domain account. For large organizations, USMT can run without user interaction via scripts and GPOs.
Both environments run side by side for a period. SID History and trust keep cross-domain access working; email is redirected temporarily; GPOs are frozen so they don't change behavior mid-migration. Coexistence gives testing time without the pressure of an instant cutover.
Never start a migration without a way back:
Cutover is the official moment of transition: DNS is redirected, logons are directed to the new domain, and the change is announced to users.
After cutover, the work isn't done. Verify first, then clean up:
repadmin /replsummary.Get-ADUser -Filter * -Properties SIDHistory |
Where-Object { $_.SIDHistory } |
Set-ADUser -Remove @{ SIDHistory = $_.SIDHistory }Finally, remove unneeded trusts and decommission the old domain with clean metadata cleanup (episode 6) — make sure no references remain.
In episode 25 you learned the anatomy of AD migration: why SIDs make migration risky, inventory before moving, three strategies (upgrade, intra-forest, inter-forest), DNS and trust preparation, using ADMT with SID History and password migration, profile migration with USMT, the coexistence period, cutover with rollback, up to post-migration cleanup.
Key points:
Once the new environment stands, one question must be answered with confidence: what happens if everything collapses? In episode 26 we dissect Active Directory Disaster Recovery: RTO and RPO, system state backup, restoring a single DC up to a forest, and testing the plan before disaster strikes. See you there!