Forest and domain functional-level modernization with application-compatibility gates.
Guide for raising forest and domain capability only after legacy applications, trusts, and administrative tooling are proven safe.
Guide for raising forest and domain capability only after legacy applications, trusts, and administrative tooling are proven safe.
Raising domain or forest functional levels is irreversible in practice for most environments, so every remaining legacy controller, application dependency, and trust assumption must be discovered before the change window.
Runbook note: Treat the raise decision as a governance gate: no functional-level change should proceed without application owner signoff, legacy-controller verification, and a documented rollback posture for adjacent services.
Command path:
Get-ADForest | Select ForestMode,DomainsGet-ADDomainController -Filter * | Select HostName,OperatingSystemGet-ADTrust -Filter *dcdiag /e /test:Advertising /test:ServicesGUI path: Active Directory Domains and Trusts, Active Directory Users and Computers, and application owner inventories used for compatibility signoff.
A functional-level raise should have its own validation matrix covering authentication, management tooling, trusts, and application flows that historically depended on older directory behavior.
Command path:
Get-ADOptionalFeature -Filter *repadmin /replsummarynltest /domain_trustsgpresult /rGUI path: Change-control records, Active Directory Administrative Center, and trust-management consoles used to coordinate signoff.
Do not use a functional-level change to push through existing health debt. Replication, SYSVOL, DNS, and time-service issues need to be resolved first or post-change troubleshooting becomes ambiguous.
Command path:
repadmin /showrepl * /csvdcdiag /e /c /vdfsrdiag backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /smem:HF-DC25-01 /rmem:HF-DC25-02Get-ADDomain | Select DomainModeGUI path: Event Viewer, DFS Management, Group Policy Management, and AD Sites and Services for prechange health proof.
Raise each domain only after its controllers and applications pass, then raise the forest when every domain is complete. Keep the change quiet and observable rather than combining it with adjacent modernization tasks.
Command path:
Set-ADDomainMode -Identity corp.example.com -DomainMode Windows2016DomainSet-ADForestMode -Identity corp.example.com -ForestMode Windows2016ForestGet-ADDomain | Select DomainModeGet-ADForest | Select ForestModeGUI path: Active Directory Domains and Trusts > right-click domain > Raise Domain Functional Level, then right-click Active Directory Domains and Trusts > Raise Forest Functional Level.
The first post-raise work is verification, not celebration. Applications, trusts, delegated admin flows, and backup or restore procedures all need clean evidence before the project can move on.
Command path:
repadmin /replsummarydcdiag /e /test:KnowsofRoleHolders /test:RidManagerGet-WinEvent -LogName "Directory Service" -MaxEvents 100Enable-ADOptionalFeature -Identity "Recycle Bin Feature" -Scope ForestOrConfigurationSet -Target corp.example.comGUI path: Event Viewer, Active Directory Administrative Center, and application validation runbooks used for final signoff.