Windows2008R2 AD降级错误解决方案

我们之前的文中有介绍关于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指向您林中的主域控制器

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=<DNS domjain name>to    
Active Directory Domain Controller    
\\<DNS 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:

<date> <time> [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 \\<DNS name of helper DC...    
<date> <time> [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:<NTDS Settings objet GUID>,CN=<hostname of last DC to host the partition infrastructure role>,CN=Servers,CN=<active directory site name>,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: <object guid>;    
showInAdvancedViewOnly: TRUE;    
systemFlags: 0x8C000000 = ( DISALLOW_DELETE | DOMAIN_DISALLOW_RENAME | DOMAIN_DISALLOW_MOVE );    
uSNChanged: <some USN #>;    
uSNCreated: <some USN #>;    
whenChanged: <date> <time>;    
whenCreated: <date> <time>;

Where distinguishing elements in the LDAP output taken from the sample domain "CONTOSO.COM include::

The fSMORoleOwner attribute contains the string "0ADEL" indicating that the role owning DC‘s NTDS Settings object has been deleted

The fSMORoleOwner attribute contains a 32-character alpha-numeric GUID of the owning DCs NTDS Settings object in the format of "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",

The name of the default DNS application partition for which the fSMORoleOwner attribute is assigned to a DC with a deleted NTDS Settings object. In this case the error referenced the DomainDNSZones. This same error may also occur for the ForestDNSZones application partition.

解决方案:

The error above occurs when the domain cointroller being demoted cannot outbound replicate changes to the Dc that owns the infrastructure FSMO or operational role for the partition referenced in the DCPROMO [log] error.  
Specifically, the demotion attempt is aborted to safeguard against data loss. In the case of DNS application partitions, the demotion is blocked to ensure that live and deleted DNS records, their ACLS and metadata such as registration and deletion dates are replicated

DN paths for partitions where the error in the symptoms section may occur include:

CN=Infrastructures,DC=DomainDNSZones....

CN=Infrastructures,DC=ForestDNSZones....

根据解决方案,我们就可以顺利解决问题了

首先我们运行netdom query fsmo 查看AD角色的当前所有者

然后登陆到infrastructure主机上,运行adsitedit.msc打开编辑器,然后右击单机链接

然后我们首先关联ForestDnsZones,进行链接

CN=Infrastructure, DC=ForestDnsZones,DC=iternalsoft,DC=COM

链接进去我们其实已经发现了错误

错误格式有乱码,而且CN的名称也不是当前的基础架构主机

Bj-dcd的主机已不存在了,而正确的应该是BJ-DC02

CN=NTDSSettings\0ADEL:061b26ae-f637-4c58-8414-301f0261fe98,CN=BJ-DCD\0ADEL:64b8c2ea-1a70-4017-bdaa-4c17f04a6bab,CN=Servers,CN=BeiJing-iternalsoft,CN=Sites,CN=Configuration,DC=iternalsoft,DC=com

所以我们修改正确内容格式保存即可

CN-NTDS Settings,CN=BJ-DC02,CN=Servers,CN=Beijing-iternalsoft,CN=Sites,

CN=Configuration,DC=iternalsoft,DC=COM

接着我们按照上面的方式再打开DomainDnszones的配置方式

CN=Infrastructure, DC=DomainDnsZones,DC=domain name

将修改同样的内容fsMORoleOwner的值

所以我们修改正确内容格式保存即可

CN-NTDS Settings,CN=BJ-DC02,CN=Servers,CN=Beijing-iternalsoft,CN=Sites,

CN=Configuration,DC=iternalsoft,DC=COM

修改后,我们再次尝试使用dcpromo进行降级,降级通过及完成

待完成后即可

时间: 2024-10-17 07:41:07

Windows2008R2 AD降级错误解决方案的相关文章

Unsupported major.minor version 51.0 错误解决方案

Unsupported major.minor version 51.0 错误解决方案 栏目:Eclipse大师 作者:admin 日期:2015-04-08 评论:0 点击: 13,299 次 jdk1.6工程中使用外部jar包中类出现:Unsupported major.minor version 51.0原因分析:出现上述错误是因为:外部jar包使用jdk1.7(jdk7)编译,而使用此jar包的工程jdk版本为jdk1.6(jdk6),算是版本不支持. 解决方法见下面的步骤: 第一步:在

Git在开发android系统时常用的技巧及常见错误解决方案

Git常用的技巧及常见错误解决方案 项目管理工作 repo 常用命令 ==目标== 了解repo工作原理及常用的repo命令 Git 日常使用的命令,常见问题及解决方案 ==关键词== Repo , Git ==工作指南== == <big>Repo</big> == Android代码其实是由若干个git 工作组织在一起的,repo 是一个便于整体管理这些项目的脚本. 拉代码时需要用到几个步骤,分别对几个步骤进行阐述一下,网上有很多repo 的使用方法,但是对其工作原理描述的并不

Android Studio上Session &#39;app&#39;: Error Installing APK错误解决方案

我在使用Android Studio的时候,使用自己的魅族(M5 Note)真机调试,运行不成功,提示下面图片中的错误(Session 'app':Error Installing APK). 再经过测试过好几种网上的方法之后,特记录如下,望以后大家少走弯路,希望可以帮助到大家. 可能不同的人使用到的方法都会是下面的不同的方法: 1)连接手机之后,会有显示手机的SDK型号以及API的版本,显示我自己的是魅族M5 Note(Android 6,API23),在我的手机上安装不上,刚开始有人说魅族手

Nginx502,504和499错误解决方案

499错误解决方案 499错误是什么?让我们看看NGINX的源码中的定义: ngx_string(ngx_http_error_495_page), /* 495, https certificate error */ ngx_string(ngx_http_error_496_page), /* 496, https no certificate */ ngx_string(ngx_http_error_497_page), /* 497, http to https */ ngx_strin

VS2013验证控件出现 WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResour......的错误解决方案

错误如下: 解决方案如下: 方法一: 在webconfig中找到 <appSettings> <addkey="aspnet:UseTaskFriendlySynchronizationContext"value="true" /> <addkey="ValidationSettings:UnobtrusiveValidationMode"value="WebForms" /> </a

linux安装php出现的各种错误解决方案

configure: error: Try adding --with-zlib-dir=<DIR>. Please check config.log for more information. -------------------------------------------------------------- 解决方案:下载zlib 安装解压缩zlib 然后在后面的参数加上 --with-zlib ./configure --prefix=/usr/local/php --with-

JRE System Library [jdk1.7]和Server Library [Apache Tomcat v6.0]为绑定错误解决方案

今天在用Myeclipse8.6导入一个Java Web工程时,包错,通过单击导入的文件工程名,点击属性(properties),查看Java Build Path,有如下信息:JRE System Library [jdk1.7](unbound)和Server Library [ApacheTomcat v6.0](unbound) JRE System Library[jdk1.7](unbound)系统JRE未绑定解决方案 eclipse导入项目报错 :Unboundclasspath

libudev-dev : Depends: libudev0 (= 175-0ubuntu9) but 175-0ubuntu9.3 is to be installed 错误解决方案

libudev-dev : Depends: libudev0 (= 175-0ubuntu9) but 175-0ubuntu9.3 is to be installed 错误解决方案 参考文章: 1. ubuntu 12.04 libudev-dev won't install because of dependencies http://stackoverflow.com/questions/17181073/ubuntu-12-04-libudev-dev-wont-install-be

coreseek 在gcc 4.9+ 上编译不通过 [sphinxexpr.o] Error 1 错误解决方案

这几天玩hhvm,把gcc环境都装到4.9了,然后编译coreseek的时候就出问题,google一大圈,貌似捕风捉影看到一些信息说是gcc4.7+的c++作用域必须用this->去引用,这里整理一个补丁仅供大家参考coreseek 在gcc 4.7+ 上编译不通过 [sphinxexpr.o] Error 1 错误解决方案 错误如下:(每个人环境都不太一样,提示错误信息应该不尽相同但出错原因应该都是gcc4.7+以上版本作用域的问题) sphinxexpr.cpp:1047:43: note: