In Windows Server 2008 R2 is the ability Demote Forest Functional Level and Domain Functional Level.
Do this in certain circumstances that are explained below, we can do:
1 - Current Forest Functional Level should be Windows Server 2008 R2.
2 - Just can demote Forest Functional Level to Windows Server 2008.
3 - Optional features that can not be disabled, must not be activated.
For Example: Active Directory Recycle Bin.
4 - We use Powershell command Set-ADForestMode.
(This is in Active Directory module for Windows PowerShell, Figure-1)
Active Directory Module for Windows PowerShell
Figure-1
5 - Format command is as follows:
Set-ADForestMode <Root-Domain FQDN> -ForestMode Windows 2008Forest
In this example Woodgrovebank.com is Root Domain FQDN.
Figure-2 below before the opration, as you see Forest Functional Level is on Windows Server 2008 R2.
Figure-2
Now we run the following command and then pressing Enter, type in the word Y and the Enter key again (Figure-3)
Set-ADForestMode Woodgrovebank.com -ForestMode Windows2008Forest
Figure-3
That was done and now we check Forest Functional Level (Figure-4).
Figure-4
Open Diagnostics ---> Event Viewer, and check Directory Services.
You have an Event ID number: 2040, with description New Forest Functional Level is 3 (Figure-5).
Figure-5
Number 3 is value for msDS-Behavior-Version Attribute (Figure-6).
Figure-6
Table value associated msDS-Behavior-Version.
Set-ADDomainMode <Domain FQDN> -DomainMode Windows2008Doman
In this example Woodgrovebank.com is Domain FQDN.
Figure-7 below before the operation, as you see Domain Functional Level is
on Windows Server 2008 R2.
Figure-7
Now we run the following command and then pressing Enter, type in the word Y
and the Enter key again (Figure-8)
SetADDomain Mode Woodgrovebank.com -DomainMode Windows2008Domain
Figure-8
That was done and now we check Domain Functional Level (Figur-9).
Figure-9
You have an Event ID number: 2039, with description New Domain Functional Level
is 3 (Figure-10)
Figure-10
Never forget, Revert back first Forest Functional Level, then Domain Functional Level.
AD-Powershell for Active Directory Administrators
Move (Transfering or Seizing) FSMO roles with AD-Powershell command to another Domain Controller