作为传统的Windows管理员肯定知道,活动目录的域功能级别和林功能级别一直都是只能升级不能降级的。
但是现在微软提供的命令来设置域功能级别和林功能级别。可以从高版本设置到低版本。
先用以下命令来看一下我们测试环境contoso.lab的目前情况。如果看不到图,请点我。
Get-ADForest | fl Name,ForestMode
Get-ADDomain | fl Name,DomainMode
活动目录功能级别降级_第1张图片
结果显示,目前功能级别都是2016的。

再用dsquery来检查一下

dsquery * CN=Partitions,CN=Configuration,DC=contoso,DC=lab -scope base -attr msDS-Behavior-Version

dsquery * DC=contoso,DC=lab -scope base -attr msDS-Behavior-Version ntMixedDomain
活动目录功能级别降级
功能级别都是7,表示级别都是2016 ntMixedDomain只有在早期Windows2000 和 NT的混合模式才会出现,现在应该没有这样的域了。

关于林功能级别的数字定义可以看这篇文章说明
6.1.4.4 msDS-Behavior-Version: Forest Functional Level
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/564dc969-6db3-49b3-891a-f2f8d0a68a7f?redirectedfrom=MSDN

关于域功能级别的数字定义可以看这篇文章说明
6.1.4.3 msDS-Behavior-Version: Domain NC Functional Level
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/d7422d35-448a-451a-8846-6a7def0044df

接下去看一下架构schema的版本
dsquery * CN=Schema,CN=Configuration,DC=contoso,DC=lab -scope base -attr objectVersion
活动目录功能级别降级
版本88对应的是各种2019的操作系统。
架构版本的对应关系可以看这篇文章说明
3.1.1.2.1 Schema NC
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/cf266003-19e1-4144-a919-bf7adf21254f?redirectedfrom=MSDN

接下去,我们要尝试使用命令设置低版本的功能级别,也就是降级林功能级别和域功能级别。
但是同样要遵循林功能级别和域功能级别的关系,降级的话需要先降级林的级别,否则会报错。
Set-ADForestMode -Identity contoso.lab -ForestMode Windows2008Forest
Set-ADDomainMode -Identity contoso.lab -DomainMode Windows2008Domain
活动目录功能级别降级_第2张图片
可以看到,功能级别已经回到2008了。实际环境中如果需要降级一定要考虑是否有不兼容的情况产生,以免出现服务不可用的情况。