我们之前的文中有介绍关于ADCS的迁移,迁移后我们为了保证服务 运行正常。将原有的AD关机并保留,如果真出现CS相关的问题,我们准备通过备份暂时还原CS相关服务,经过长时间的观察后确认,CS服务运行正常。所以将原有的DC启动起来进行降级(dcpromo降级),但是在降级的过程中发现了一些问题,所以总结后分享给有需要的同学。
说到降级其实有两种方式,一种是正常降级,另外一种是暴力降级;
所谓的正常降级就是从windows2003、windows2008r2之间的AD服务降级我们可以通过运行dcpromo的方式进行步骤化降级,而windows2012以后版本我们需要通过管理工具卸载AD域服务的方式进行降级,该降级方式是微软推荐的,但是当待降级的AD服务无法正常运行或者所运行AD服务的硬件服务无法正常运行时,我们就无法通过第一种方式进行降级了,那就必须采用第二种方式暴力降级了,所谓的暴力降级就是通过ntdsutil命令来将环境内的无效AD服务器从目录中删除。而我环境中比较倾向第一种方式,这样的降级方式比较安全,而且比较方便。通过该方式可以自动将目录中的相关数据清除,由于我的环境比较特殊,问题比较多,所以在降级的过程中出现了一些小插曲,最终还是解决了,具体见下:
通过运行dcpromo命令,通过步骤进行降级遇到以下错误提示。

通过查找微软的technet资料最终找到解决方案
原因是由于infrastucture master指向了DNS 应用程序分区上已经被删除的NTDSA,如果仍然遇到此故障,我们可以使用ADSIEDIT.MSC将fsMORoleOwner 属性的DN Path指向您林中的主域控制器
https://support.microsoft.com/zh-cn/kb/2694933
Active Directory Domain Services could not transfer the remaining data in directory partition
DC=DomainDNSZones,DC=to
Active Directory Domain Controller
\\ name of helper DC used to service demotion>
"The directory service is missing mandatory configuration
information, and is unable to determine the ownership of floating single-master operation roles."
The relevant part of the DCPROMO.LOG file contains the followign text:
[INFO] Transferring operations master roles owned by this Active Directory Domain Controller in directory partition DC=DomainDnsZones,DC=contoso,DC=com to Active Directory Domain Controller \\ name of helper DC...
[INFO] EVENTLOG (Warning): NTDS Replication / Replication : 2091
A review of the infrastructure object and attributes for the DNS application partition referenced in the on-screen DCPROMO error and DCPROMO.LOG
Expanding base 'CN=Infrastructure,DC=DomainDnsZones,DC=contoso,DC=com'...
Getting 1 entries:
Dn: CN=Infrastructure,DC=DomainDnsZones,DC=contoso,DC=com
cn: Infrastructure;
distinguishedName: CN=Infrastructure,DC=DomainDnsZones,DC=contoso,DC=corp,DC=microsoft,DC=com;
dSCorePropagationData: 0x0 = ( );
fSMORoleOwner: CN=NTDS Settings\0ADEL:,CN=,CN=Servers,CN=,CN=Sites,CN=Configuration,DC=contoso,DC=com;
instanceType: 0x4 = ( WRITE );
isCriticalSystemObject: TRUE;
name: Infrastructure;
objectCategory: CN=Infrastructure-Update,CN=Schema,CN=Configuration,DC=contoso,DC=com;
objectClass (2): top; infrastructureUpdate;
objectGUID: