Windows2008R2 AD降级错误解决方案

我们之前的文中有介绍关于ADCS的迁移,迁移后我们为了保证服务 运行正常。将原有的AD关机并保留,如果真出现CS相关的问题,我们准备通过备份暂时还原CS相关服务,经过长时间的观察后确认,CS服务运行正常。所以将原有的DC启动起来进行降级(dcpromo降级),但是在降级的过程中发现了一些问题,所以总结后分享给有需要的同学。

说到降级其实有两种方式,一种是正常降级,另外一种是暴力降级;

所谓的正常降级就是从windows2003、windows2008r2之间的AD服务降级我们可以通过运行dcpromo的方式进行步骤化降级,而windows2012以后版本我们需要通过管理工具卸载AD域服务的方式进行降级,该降级方式是微软推荐的,但是当待降级的AD服务无法正常运行或者所运行AD服务的硬件服务无法正常运行时,我们就无法通过第一种方式进行降级了,那就必须采用第二种方式暴力降级了,所谓的暴力降级就是通过ntdsutil命令来将环境内的无效AD服务器从目录中删除。而我环境中比较倾向第一种方式,这样的降级方式比较安全,而且比较方便。通过该方式可以自动将目录中的相关数据清除,由于我的环境比较特殊,问题比较多,所以在降级的过程中出现了一些小插曲,最终还是解决了,具体见下:

通过运行dcpromo命令,通过步骤进行降级遇到以下错误提示。

Windows2008R2 AD降级错误解决方案_第1张图片

通过查找微软的technet资料最终找到解决方案

原因是由于infrastucture master指向了DNS 应用程序分区上已经被删除的NTDSA,如果仍然遇到此故障,我们可以使用ADSIEDIT.MSC将fsMORoleOwner 属性的DN Path指向您林中的主域控制器

http://adirectory.blog.com/2015/06/fault-domain-controller-downgrade/

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    
\\    
"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:

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: ;    
showInAdvancedViewOnly: TRUE;    
systemFlags: 0x8C000000 = ( DISALLOW_DELETE | DOMAIN_DISALLOW_RENAME | DOMAIN_DISALLOW_MOVE );    
uSNChanged: ;    
uSNCreated: ;    
whenChanged: