Jaja, je leest het goed. Windows Server 2012 R2. End-of-life sinds oktober 2023, maar in het veld kom je ze gewoon nog tegen. Soms verstopt achter een rack vol stof, soms braaf in productie alsof er niets aan de hand is. Deze keer was het tijd om er echt afscheid van te nemen.
In deze blog laat ik zien hoe ik zo’n oude 2012 R2 Domain Controller heb gemigreerd naar Windows Server 2025. Inclusief FSMO-rollen, DNS, DHCP, functional levels, DFSR, Certificate Services en een paar foutmeldingen waar je waarschijnlijk niet op zit te wachten, maar die je vroeg of laat tóch tegenkomt.
Bij deze migratie ging het niet om een simpele “next-next-finish”-upgrade. De oude server draaide nog Windows Server 2012 R2 en had alle FSMO-rollen. Daarnaast stonden er ook nog rollen zoals DNS, DHCP en Active Directory Certificate Services op. Kortom: zo’n server waarvan je weet dat hij ooit weg moet, maar waar stiekem nog best veel aan hangt.
De uiteindelijke route werd:
Windows Server 2012 R2 DC
↓
Windows Server 2022 DC (tussenstap)
↓
Functional level → Windows Server 2016
↓
Windows Server 2025 DC
Waarom die tussenstap via 2022?
Mijn eerste gedachte was simpel: nieuwe Server 2025 installeren, toevoegen als extra Domain Controller, FSMO-rollen verplaatsen en klaar.
Maar tijdens de promotie van Server 2025 kwam deze foutmelding:
Verification of replica failed.
The forest functional level is not supported.
To install a Windows Server 2025 domain controller,
the forest functional level must be Windows Server 2016 or higher.
En daar zat meteen de blocker.
Mijn domein stond nog op:
- Forest functional level: Windows Server 2012 R2
- Domain functional level: Windows Server 2012 R2
Omdat er nog een 2012 R2 Domain Controller actief was, kon ik het functional level niet zomaar naar 2016 verhogen. Eerst moest er dus een ondersteunde tussenstap komen.
Wat je nodig hebt
- Bestaande Windows Server 2012 R2 Domain Controller
- Nieuwe Windows Server 2022 server
- Nieuwe Windows Server 2025 server
- Domain Admin / Enterprise Admin rechten
- Toegang tot DNS, DHCP en AD Sites and Services
- Goede back-up van de oude Domain Controller
- Geduld 🙂
Belangrijk: maak vooraf minimaal een System State backup van de oude Domain Controller. Zeker als daar ook Certificate Services, DNS of DHCP op draait.
Stap 1 – Controleer eerst DFSR / SYSVOL
Voordat je begint, controleer je of SYSVOL al via DFSR loopt. Op de oude 2012 R2 DC:
dfsrmig /getglobalstate
dfsrmig /getmigrationstate
De gewenste status is:
Current DFSR global state: Eliminated
Controleer ook of SYSVOL en NETLOGON beschikbaar zijn:
net share
Mocht dfsrmig niet gevonden worden, controleer of de DFS Replication-role aanwezig is:
Get-WindowsFeature FS-DFS-Replication
# Installeren indien nodig:
Install-WindowsFeature FS-DFS-Replication -IncludeManagementTools
Stap 2 – Server 2022 installeren als tussenstap
Op de nieuwe Server 2022:
Install-WindowsFeature AD-Domain-Services,DNS -IncludeManagementTools
Promoveren tot extra Domain Controller:
Install-ADDSDomainController `
-DomainName "jouwdomein.local" `
-InstallDns `
-Credential (Get-Credential)
DNS-instelling tijdens de promotie: Preferred DNS = IP-adres oude 2012 R2 DC, Alternate DNS = leeg.
Na promotie controleren:
net share
repadmin /replsummary
dcdiag /v /c /e
SYSVOL en NETLOGON moeten zichtbaar zijn op de nieuwe 2022 DC.
Stap 3 – FSMO-rollen verplaatsen naar Server 2022
Controleer eerst waar de rollen staan:
netdom query fsmo
Verplaatsen naar de nieuwe 2022 DC:
Move-ADDirectoryServerOperationMasterRole `
-Identity "NAAM-DC2022" `
-OperationMasterRole SchemaMaster,DomainNamingMaster,PDCEmulator,RIDMaster,InfrastructureMaster
Controleer daarna opnieuw met netdom query fsmo. Alle vijf rollen moeten op Server 2022 staan.
Stap 4 – Oude 2012 R2 Domain Controller demoten
Hier liep ik tegen de volgende verrassing aan. Bij het demoten van de oude 2012 R2 DC:
Verification of prerequisites for Domain Controller demotion failed.
Certificate Server is installed.
Op de oude Domain Controller draaide ook nog Active Directory Certificate Services — die rol blokkeerde de demotion.
Eerst back-up maken:
mkdir C:\CA-Backup
certutil -backupdb C:\CA-Backup
certutil -backupkey C:\CA-Backup
reg export HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration C:\CA-Backup\CA-Config.reg
certutil -getconfig > C:\CA-Backup\CA-Config.txt
certutil -dump > C:\CA-Backup\CA-Dump.txt
Daarna via Server Manager → Remove Roles and Features → Active Directory Certificate Services verwijderen en rebooten.
Na de reboot kon de demotion wel:
Uninstall-ADDSDomainController
Let op: niet forceren tenzij je echt geen andere optie hebt.
Stap 5 – Functional level verhogen naar 2016
Controleer eerst of de 2012 R2 DC volledig weg is:
Get-ADDomainController -Filter * |
Select-Object HostName,OperatingSystem,IsGlobalCatalog,OperationMasterRoles
Controleer het huidige functional level:
Get-ADDomain | Select-Object DomainMode
Get-ADForest | Select-Object ForestMode
Verhogen:
Set-ADDomainMode -Identity "jouwdomein.local" -DomainMode Windows2016Domain
Set-ADForestMode -Identity "jouwdomein.local" -ForestMode Windows2016Forest
Gewenste output na controle:
DomainMode : Windows2016Domain
ForestMode : Windows2016Forest
Nu is de omgeving klaar voor Server 2025.
Stap 6 – Server 2025 toevoegen als extra Domain Controller
Op de nieuwe Server 2025:
Install-WindowsFeature AD-Domain-Services,DNS -IncludeManagementTools
Install-ADDSDomainController `
-DomainName "jouwdomein.local" `
-InstallDns `
-Credential (Get-Credential)
DNS-instelling tijdens de promotie: Preferred DNS = IP-adres van Server 2022 DC.
Na promotie controleren:
net share
repadmin /replsummary
dcdiag /test:Advertising /test:SysVolCheck /test:NetLogons /v
dcdiag /test:dns /v
Stap 7 – Advertising-fout oplossen
Na de promotie kreeg ik nog een issue:
DC01 failed test Advertising
En bij nltest /dsregdns:
connection status = 1311 0x51f ERROR_NO_LOGON_SERVERS
De oorzaak zat in DNS. De oplossing: zet de nieuwe DC tijdelijk zo:
- Preferred DNS: IP-adres van de Server 2022 DC
- Alternate DNS: eigen IP-adres van DC01
Daarna:
ipconfig /flushdns
ipconfig /registerdns
nltest /dsregdns
net stop netlogon
net start netlogon
Opnieuw testen:
dcdiag /test:Advertising /v /s:DC01
dcdiag /test:dns /v /s:DC01
Toen Advertising, SysVolCheck en NetLogons groen waren, kon ik verder.
Stap 8 – FSMO-rollen naar Server 2025
Move-ADDirectoryServerOperationMasterRole `
-Identity "DC01" `
-OperationMasterRole SchemaMaster,DomainNamingMaster,PDCEmulator,RIDMaster,InfrastructureMaster
netdom query fsmo
Tijdservice instellen op de PDC Emulator:
w32tm /config /manualpeerlist:"nl.pool.ntp.org,0x8" /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync
w32tm /query /status
Stap 9 – DNS afronden
DNS op DC01 uiteindelijk zo ingesteld:
- Preferred DNS: eigen IP van DC01
- Alternate DNS: leeg
Een dcdiag /test:dns gaf initieel een RReg fail — opgelost door de tweede DNS-server te verwijderen zodat DC01 alleen zichzelf gebruikte. Daarna:
ipconfig /registerdns
nltest /dsregdns
Een Basc warning is niet altijd fataal. Dat gaat vaak over forwarders of root hints, niet over de interne AD-DNS-records die echt tellen.
Stap 10 – DHCP migreren naar Server 2025
Op Server 2025:
Install-WindowsFeature DHCP -IncludeManagementTools
Add-DhcpServerSecurityGroup
Restart-Service DHCPServer
Export vanaf de oude DHCP-server:
mkdir C:\DHCP-Export
Export-DhcpServer `
-ComputerName "OUDE-SERVERNAAM" `
-Leases `
-File "C:\DHCP-Export\dhcp-export.xml" `
-Verbose
Importeren op DC01:
mkdir C:\DHCP-Backup
Import-DhcpServer `
-Leases `
-File "C:\DHCP-Import\dhcp-export.xml" `
-BackupPath "C:\DHCP-Backup" `
-Verbose
Autoriseren in Active Directory:
Add-DhcpServerInDC -DnsName "DC01.jouwdomein.local" -IPAddress "IP-VAN-DC01"
DNS-optie bijwerken zodat clients de nieuwe DC krijgen:
Set-DhcpServerv4OptionValue `
-DnsServer "IP-VAN-DC01" `
-DnsDomain "jouwdomein.local"
DHCP op de oude server stoppen:
Stop-Service DHCPServer
Set-Service DHCPServer -StartupType Disabled
Test op een client:
ipconfig /release
ipconfig /renew
ipconfig /all
Stap 11 – Server 2022 demoten
Eerst de eindcontrole op DC01:
netdom query fsmo
repadmin /replsummary
dcdiag /v /c /e
dcdiag /test:dns /v /s:DC01
Dan op de 2022 DC:
Uninstall-ADDSDomainController
Na reboot controleren of 2022 niet meer als DC verschijnt:
Get-ADDomainController -Filter * |
Select-Object HostName,OperatingSystem,IsGlobalCatalog,OperationMasterRoles
Veelvoorkomende issues
Server 2025 promotie faalt op functional level
The forest functional level must be Windows Server 2016 or higher.
Oplossing: tussenstap via Server 2022 → FSMO verplaatsen → 2012 R2 demoten → FFL/DFL verhogen → dan pas Server 2025 toevoegen.
Demotion faalt: Certificate Server is installed
Back-up maken, daarna via Server Manager Active Directory Certificate Services verwijderen, reboot, dan opnieuw demoten.
dcdiag geeft Advertising fails
net share
repadmin /replsummary
dcdiag /test:Advertising /v /s:DC01
dcdiag /test:SysVolCheck /v /s:DC01
dcdiag /test:NetLogons /v /s:DC01
ipconfig /flushdns
ipconfig /registerdns
nltest /dsregdns
net stop netlogon && net start netlogon
dcdiag /test:dns geeft RReg fail
Zet de DNS tijdelijk op de werkende DC, registreer opnieuw en test:
ipconfig /registerdns
nltest /dsregdns
dcdiag /test:dns /v /s:DC01
Eindcontrole
Aan het einde wil je dit zien:
netdom query fsmo
repadmin /replsummary
dcdiag /v /c /e
dcdiag /test:dns /v /s:DC01
Get-ADDomainController -Filter * |
Select-Object HostName,OperatingSystem,IsGlobalCatalog,OperationMasterRoles
Gewenste situatie:
- Alle FSMO-rollen op DC01 (Server 2025)
- DC01 is Global Catalog
- SYSVOL en NETLOGON aanwezig
- DNS werkt, RReg passed
- DHCP draait op DC01
- Oude 2012 R2 DC weg
- Tussenserver 2022 gedemote
Conclusie
Deze migratie was goed te doen, maar zeker geen simpele “even een nieuwe DC erbij”-actie. Windows Server 2025 verwacht een modernere AD-basis dan een oude 2012 R2-omgeving standaard heeft. Daardoor is de tussenstap via Server 2022 soms de netste en veiligste route.
Mijn checklist voor de volgende keer:
- Eerst DFSR controleren
- Dan AD-health controleren (
dcdiag,repadmin) - Dan tussen-DC installeren (2022)
- FSMO pas verplaatsen als SYSVOL/NETLOGON goed zijn
- Certificate Services niet vergeten vóór de demotion
- Functional level pas verhogen als oude DC’s echt weg zijn
- Server 2025 pas toevoegen als FFL/DFL op 2016 staan
- DNS niet onderschatten
- DHCP pas migreren als AD/DNS stabiel is
Niet spannend als je stap voor stap werkt — maar wel een migratie waarbij je goed moet blijven controleren.