Side-by-Side Upgrade Guide: Windows Server Core 2019 PDC → Newest Server Core Version
This is one I had not planned, I added it for a friend.
Side-by-Side Upgrade Guide: Windows
Server Core 2019 PDC → Newest Server Core Version
Upgrading a primary domain controller (PDC) that holds all FSMO roles is
one of the most sensitive operations in an Active Directory domain. The safest
method — and Microsoft's recommended approach — is a side-by-side migration,
where you build a fresh domain controller on the new OS and retire the old
system gracefully.
This guide walks through a complete step-by-step process using Server
Core, ensuring no GUI dependencies and fully compatible with production
environments.
1. Overview of Side-by-Side Upgrade
Process
Here’s the high-level flow:
- Prepare and health-check Active
Directory
- Build a new Server Core host
(2022 or 2025)
- Install AD DS and promote it to a
domain controller
- Verify replication & SYSVOL
health
- Transfer all FSMO roles to the
new server
- Repoint services and
infrastructure dependencies
- Demote the old 2019 PDC
- Decommission the server
This method ensures no downtime, no AD corruption risk, and
easy rollback.
2. Step 1 – Pre-Upgrade Health
Checks on the 2019 PDC
Before adding a new domain controller, verify the health of your
environment. On the 2019 Server Core PDC, run:
Check domain / forest health
dcdiag /v /c /e >
C:\dcdiag_2019_before.txt
repadmin /replsum
Check replication on all DCs
repadmin /showrepl *
Verify SYSVOL replication state
dfsrmig /getglobalstate
Confirm DNS health
dcdiag /test:dns
Back up the PDC
Full bare-metal backup
System State backup
Export DHCP (if installed)
Document static IP, DNS, and roles
If any errors appear in DCDiag or repadmin: fix them before continuing.
3. Step 2 – Deploy the New Server
Core Host (2022/2025)
Create a brand-new Server Core VM or physical server with:
- Same domain network/subnet
- Static IP
- DNS set to the existing 2019 PDC
- Time synchronization enabled
Rename the server
Rename-Computer -NewName NEWPDC
Restart-Computer
Install AD DS Role
Install-WindowsFeature
AD-Domain-Services -IncludeManagementTools
4. Step 3 – Promote the New Server
to a Domain Controller
Promote the new OS to a domain controller and DNS server:
Install-ADDSDomainController `
-DomainName "yourdomain.local" `
-InstallDns `
-NoGlobalCatalog:$false `
-SiteName "Default-First-Site-Name"
Reboot when prompted.
5. Step 4 – Verify Replication
& Domain Health
On both the new DC and the old PDC:
Check replication
repadmin /replsum
repadmin /showrepl *
Verify SYSVOL is shared
net share
You should see:
SYSVOL
NETLOGON
Check DNS registration
ipconfig /registerdns
Verify the new DC shows in Sites &
Services
Make sure both DCs show under the correct site.
6. Step 5 – Transfer FSMO Roles to
the New Server
On the new Server Core DC, run:
Move-ADDirectoryServerOperationMasterRole
-Identity NEWPDC -OperationMasterRole 0,1,2,3,4 -Confirm:$false
FSMO roles include:
- PDC Emulator
- RID Master
- Infrastructure Master
- Schema Master
- Domain Naming Master
Verify FSMO roles
netdom query fsmo
Once verified, the new Server Core OS is officially the PDC and schema
master.
7. Step 6 – Repoint Infrastructure
& Services
Double-check that necessary services now point to the new DC.
Items to verify:
DHCP server authoritative target
(if using AD authorization)
Any RADIUS/NPS references
Time server configuration
Any LDAP-bound apps
Backup software DC agents
Monitoring tools
DNS forwarders/scavenging settings
Make the new DC the authoritative time
source
w32tm /config
/manualpeerlist:"time.windows.com,0x9" /syncfromflags:manual
/reliable:yes /update
net stop w32time && net start
w32time
8. Step 7 – Demote the Old Server
Core 2019 PDC
Once everything has been validated and replication is stable:
Demote the old DC
Uninstall-ADDSDomainController
-RemoveApplicationPartition:$true -DemoteOperationMasterRole:$true
If the server also runs DNS:
Uninstall-WindowsFeature DNS
Reboot once demotion completes.
9. Step 8 – Remove the Server from
the Domain & Decommission
After reboot:
Remove-Computer
-UnjoinDomainCredential (Get-Credential) -PassThru -Verbose
Restart-Computer
Delete the old server record from:
- Active Directory Computers
- NTDS Settings (Sites &
Services)
- DNS A and SRV records
- DHCP lease reservations
- Monitoring tools
10. Cleanup Validation
On the new PDC:
Run domain health checks again
dcdiag /v /c /d /e
repadmin /replsum
Verify FSMO roles one last time
netdom query fsmo
Verify SYSVOL consistency
dfsrmig /getmigrationstate
All states should be “Global state: Eliminated”.
Comments
Post a Comment
Got something to say? Drop a comment below — let’s chat!