当前位置: 首页 > news >正文

Windows server 2012 利用ntdsutil工具实现AD角色转移及删除域控方法

场景1:主域控制器与辅助域控制器运行正常,相互间可以实现AD复制功能。需要把辅助域控制器提升为主域控制器 ,把主域控制器降级为普通成员服务器;这种场景一般应用到原主域控制器进行系统升级(先转移域角色,再降级,再安装或升级高版本系统,再次转移角色恢复到主域控制器角色)或使用配置更高的服务器替代原主域控制器起到主域控制的作用(使用高配置的服务器配置成辅助域控制器,然后把原主域控制器角色转移到该主机,原主机成为辅助域控制器,高配置主机成为主域控制器)

    场景2:辅助域控服务器运行正常,主域控服务器因突发性紧急故障造成Down机且主域无法正常运行。需要辅助域控服务器强制夺取RID、PDC、Domain、Schema、Naming角色及GC功能成为新主域控,并强制删除域中残留原有主域控信息 ;这种场景一般应用到主域系统或数据损坏无法正常工作,由辅助域控强制争夺5种角色提升为主域控制器,同时删除残留原主域控制器信息。原有主域控主机在重新加入域环境时(重新安装系统后),建议使用不同的主机名及ip地址。

 

场景一:


环境:主域控制器ds01.bicionline.org ,辅域控制器pdc01.bicionline.org  , 两台域控服务器运行正常,相互间可以实现AD复制。

目的:主域控服务器把RID、PDC、Domain、Schema、Naming角色及GC功能转移到辅助域控制器,并降级成普通服务器。

解决思路:通过图形界面或命令行界面进行角色转移, 通过服务管理器进行域降级 ,删除DNS服务器中所有区域内的原有主域控DNS 记录 ,删除‘站点与服务’里原主域控server 。

 

图形界面操作:

  1. 传递PDC、RID 、基础结构角色 :

    登录pdc01.bicionline.org 辅助域服务器 ,进入“Active Directory 用户和计算机 pdc01.bicionline.org”,右击“bicionline.org”选择操作主机 ,对3个主机角色进行更改:如下图 

    wKioL1l-loDiqzj0AABM3PrZmmY524.png-wh_50

     

    wKiom1l-loGCdIKxAABQYvgt72A186.png-wh_50

     

  2. 传递架构主机角色:

    Windwos  server 2012  注册 regsvr32 schmmgmt  命令,通过mmc查看域架构 。如下图 

    a、注册域架构 

    wKiom1l-mNHDHE9kAAA6ywG-j0E409.png-wh_50

     

    b、打开mmc控制台,添加单元“Active Directory 架构”。

    wKiom1l-mXyD9kScAADiAgZat4M025.png-wh_50

     

    c、右击“Active Directory 架构 pdc01.bicionline.org”选择“操作主机” 选项。

    wKioL1l-mruSY9iBAABAYQhMWeU059.png-wh_50

     

  3. 传递域命名操作主机:

    进入“Active Directory 域和信任关系 pdc01.bicionline.org”,右击选择操作主机 ,对Naming角色进行更改:如下图 

    wKioL1l-nDCR2nx4AABtm645Ptk321.png-wh_50

     

    wKioL1l-nF-ww9KVAABBnbS6A4M461.png-wh_50

 

命令行操作:

  1. 前面步骤是通过图形界面进行的操作,另通过ntdsutil 工具方式亦可实现角色转移 :步骤如下

    运行-cmd -ntdsutil 回车  #

    技巧: 输入 ?  ,可以查看该模式下可输入的命令行及命令功能注释 。

    roles 回车             //角色功能选项

    connections 回车    //进入连接模式

    connect to server pdc01.bicionline.org  回车   //连接pdc01 服务器

    quit  回车                                         //退出 

    transfer  naming master  回车   //将已连接服务器定为命名主机 

    transfer infrastructure master 回车

    transfer PDC 回车

    transfer RID master  回车

    transfer schema master 回车

    wKiom1l-n-3RmSroAACyrEObHIY272.png-wh_50

 

 

场景二:


环境 :主域控制器ds01.bicionline.org ,辅域控制器pdc01.bicionline.org  ,辅助域控服务器运行正常,主域控服务器Down机且无法恢复。

目的:辅助域控服务器强制夺取RID、PDC、Domain、Schema、Naming角色及GC功能成为新主域控,并强制删除域中残留原有主域控信息 。

解决思路:通过Ntdsutil工具强制夺取5种角色, 并删除原主域控server ,另删除DNS服务器中所有区域内的原有主域控DNS 记录 ,删除‘站点与服务’里原主域控server 。

 

解决步骤:

    1. 另通过ntdsutil 工具方式亦可实现角色转移 :步骤如下

      运行-cmd -ntdsutil 回车  #

      技巧: 输入 ?  ,可以查看该模式下可输入的命令行及命令功能注释 。

      roles 回车             //角色功能选项

      connections 回车    //进入连接模式

      connect to server pdc01.bicionline.org  回车   //连接pdc01 服务器

      quit  回车                                         //退出 

      seize  naming master  回车   //在已连接的服务器上覆盖命名主机角色 

      seize infrastructure master 回车

      seize PDC 回车

      seize RID master  回车

      seize schema master 回车

      wKiom1l-tqmSURFRAAC9PrGFFIc637.png-wh_50

       

    2. 清理ds01 server的残留信息(元数据)

      运行--cmd---ntdsutil 

      metadata cleanup 回车     //进入服务器对象清理模式

      select operation target   回车     //进入操作对象选择模式

      connections  回车      //进入连接模式

      connect to server pdc01  回车  //连接到pdc01服务器端

      quit  回车

      list sites   回车 //列出当前连接的域中的站点

      select site 0  //选择站点0

      list domains in site  /列出站点中的域

      select domain 0   //选择域0

      list servers for domain in site //列出0站点0域内所有服务器

      select server 0  //选择域中的将要删掉服务器(域控)

      remove selected server     //删除选择的服务器(域控)

      wKioL1l-uUrSlM3tAAC4JlL2Lsw947.png-wh_50

       

    3. 删除DNS服务器中每一个区域中关于ds01的 DNS 记录 ,删除‘站点与服务’里DS01 server ,并配置pdc01 为GC (全局编录) ,这些点容易被忽略,请谨记 。

 

 

 

############################################################################################################################################################################################################

AD中FSMO五大角色的介绍及操作(转移与抓取)

############################################################################################################################################################################################################

FSMO是Flexible single master operation的缩写,意思就是灵活单主机操作。营运主机(Operation Masters,又称为Flexible Single Master Operation,即FSMO)是被设置为担任提供特定角色信息的网域控制站,在每一个活动目录网域中,至少会存在三种营运主机的角色。但对于大型的网络,整个域森林中,存在5种重要的FSMO角色.而且这些角色都是唯一的。 

  五大角色:
  1、 森林级别(一个森林只存在一台DC有这个角色):

  (1)、Schema Master(也叫Schema Owner):架构主控

  (2)、Domain Naming Master:域命名主控

  2、 域级别(一个域里面只存一台DC有这个角色):

  (1)、PDC Emulator :PDC仿真器

  (2)、RID Master :RID主控

  (3)、Infrastructure Master :结构主控

  对于查询FSMO主机的方式有很多,本人一般在命令行下,用netdom query fsmo命令查询.要注意的是本命令需要安装windows 的Support Tools.

 

  五种角色主控有什么作用?
  1、 Schema Master(架构主控)

  作用是修改活动目录的源数据。我们知道在活动目录里存在着各种各样的对像,比如用户、计算机、打印机等,这些对像有一系列的属性,活动目录本身就是一个数据库,对象和属性之间就好像表格一样存在着对应关系,那么这些对像和属性之间的关系是由谁来定义的,就是Schema Master,如果大家部署过Exchange的话,就会知道Schema是可以被扩展的,但需要大家注意的是,扩展Schema一定是在Schema Master进行扩展的,在其它域控制器上或成员服务器上执行扩展程序,实际上是通过网络把数据传送到Schema上然后再在Schema Master上进行扩展的,要扩展Schema就必须具有Schema Admins组的权限才可以。

  建议:在占有Schema Master的域控制器上不需要高性能,因为我们不是经常对Schema进行操作的,除非是经常会对Schema进行扩展,不过这种情况非常的少,但我们必须保证可用性,否则在安装Exchange或LCS之类的软件时会出错。

  2、 Domain Naming Master (域命名主控)

  这也是一个森林级别的角色,它的主要作用是管理森林中域的添加或者删除。如果你要在你现有森林中添加一个域或者删除一个域的话,那么就必须要和Domain Naming Master进行联系,如果Domain Naming Master处于Down机状态的话,你的添加和删除操作那上肯定会失败的。

  建议:对占有Domain Naming Master的域控制器同样不需要高性能,我想没有一个网络管理员会经常在森林里添加或者删除域吧?当然高可用性是有必要的,否则就没有办法添加删除森里的域了。

  3、 PDC Emulator (PDC仿真器)

  在前面已经提过了,Windows 2000域开始,不再区分PDC还是BDC,但实际上有些操作则必须要由PDC来完成,那么这些操作在Windows 2000域里面怎么办呢?那就由PDC Emulator来完成,主要是以下操作:

  ⑴、处理密码验证要求;

  在默认情况下,Windows 2000域里的所有DC会每5分钟复制一次,但有一些情况是例外的,比如密码的修改,一般情况下,一旦密码被修改,会先被复制到PDC Emulator,然后由PDC Emulator触发一个即时更新,以保证密码的实时性,当然,实际上由于网络复制也是需要时间的,所以还是会存在一定的时间差,至于这个时间差是多少,则取决于你的网络规模和线路情况。

  ⑵、统一域内的时间;

  微软活动目录是用Kerberos协议来进行身份认证的,在默认情况下,验证方与被验证方之间的时间差不能超过5分钟,否则会被拒绝通过,微软这种设计主要是用来防止回放式攻击。所以在域内的时间必须是统一的,这个统一时间的工作就是由PDC Emulator来完成的。

  ⑶、向域内的NT4 BDC提供复制数据源;

  对于一些新建的网络,不大会存在Windows 2000域里包含NT4的BDC的现象,但是对于一些从NT4升级而来的Windows 2000域却很可能存有这种情况,这种情况下要向NT4 BDC复制,就需要PDC Emulator。

  ⑷、统一修改组策略的模板;

  ⑸、对Windows 2000以前的操作系统,如WIN98之类的计算机提供支持;

  对于Windows 2000之前的操作系统,它们会认为自己加入的是NT4域,所以当这些机器加入到Windows 2000域时,它们会尝试联系PDC,而实际上PDC已经不存在了,所以PDC Emulator就会成为它们的联系对象!

  建议:从上面的介绍里大家应该看出来了,PDC Emulator是FSMO五种角色里任务最重的,所以对于占用PDC Emulator的域控制器要保证高性能和高可用性。

  4、RID Master (RID主控)

  在Windows 2000的安全子系统中,用户的标识不取决于用户名,虽然我们在一些权限设置时用的是用户名,但实际上取决于安全主体SID,所以当两个用户的SID一样的时候,尽管他们的用户名可能不一样,但Windows的安全子系统中会把他们认为是同一个用户,这样就会产生安全问题。而在域内的用户安全SID=Domain SID+RID,那么如何避免这种情况?这就需要用到RID Master,RID Master的作用是:分配可用RID池给域内的DC和防止安全主体的SID重复。

  建议:对于占有RID Master的域控制器,其实也没有必要一定要求高性能,因为我们很少会经常性的利用批处理或脚本向活动目录添加大量的用户。这个请大家视实际情况而定了,当然高可用性是必不可少的,否则就没有办法添加用户了。

  5、 Infrastructure Master (结构主控)

  FSMO的五种角色中最无关紧要的可能就是这个角色了,它的主要作用就是用来更新组的成员列表,因为在活动目录中很有可能有一些用户从一个OU转移到另外一个OU,那么用户的DN名就发生变化,这时其它域对于这个用户引用也要发生变化。这种变化就是由Infrastructure Master来完成的。

  建议:其实在活动目录森林里仅仅只有一个域或者森林里所有的域控制器都是GC(全局编录)的情况下,Infrastructure Master根本不起作用,所以一般情况下对于占有Infrastructure Master的域控制器往忽略性能和可能性。

 

  在FSMO的规划时,请大家按以下原则进行:

  1、占有Domain Naming Master角色的域控制器必须同时也是GC;

  2、不能把Infrastructure Master和GC放在同一台DC上;

  3、建议将Schema Master和Domain Naming Master放在森林根域的GC服务器上;

  4、建议将Schema Master和Domain Naming Master放在同一台域控制器上;

  5、建议将PDC Emulator、RID Master及Infrastructure Master放在同一台性能较好的域控制器上;

  6、尽量不要把PDC Emulator、RID Master及Infrastructure Master放置在GC服务器上;

 

--以上内容参考自百度百科:
http://baike.baidu.com/view/1623435.htm

——————————————————————————————————————————————————

 

对FSMO角色的操作,即更改角色的操作主机(传送或抓取,抓取也叫占用)  
  我们在安装完第一台主DC后,一定会再安装第二台DC做为额外DC,以保持其域的安全可靠。从额外DC角色转换为主DC角色可以有二种方法——通用FSMO的传送或抓取来实现。

 

1、传送:当主DC工作正常,但出于某些原因要将其上的FSMO角色主机传到其它额外DC上时可以使用“传送”方式。

2、抓取:当主DC工作出现严重故障,AD工作不正常时,如:操作系统故障且AD无法修复,亦或是硬件问题不能开机等原因,这时我们可以用“抓取”方式。

 

  一、传送(使用图形化界面操作)
  1、除Schema Master(也叫Schema Owner):架构主控 外,其它四个角色主控都可以通过下面这个方式进行操作:

1)打开服务器管理器,找到 [角色] --> [Active Directory 域服务] ,然后右建点击 [Active Directory 用户和计算机] 
在 [所有任务] 中,先选择 [更改域控制器] (此步骤是让此DC计算机直接连接到另一台额外DC计算机上的主控)

 

 

2)选择要传送的DC(联机的即为当前是主控角色)

 

 

3)之后再回到第一步,重新找到 [角色] --> [Active Directory 域服务] ,然后右建点击 [Active Directory 用户和计算机] 
在 [所有任务] 中,先选择 [操作主机] 。然后单击 [更改] 就可以将此角色主控传送到刚才选择的额外DC上去。
注:在这里,域级别的三个角色主控RID、PDC、Infrastructure Master都在这里操作。 另一个域林级别的Domain Naming Master:域命名主控则需要在[角色] --> [Active Directory 站点和服务] 中右键单击进行操作,操作方式与这里一样。

 

 

  2、架构主控的传送操作有一点点麻烦,因为微软为了安全考虑并没有默认安装架构主控的管理单元。所以我们要自己手动安装并在MMC中添加一下。方法如下:

1)用管理员身份运行CMD(一定要管理员身份哦!不然下面注册时会报错)

 

 

2)在命令行中输入:regsvr32 schmmgmt.dll

然后回车!

 

 

3)在命令窗口输入:mmc

回车后会弹出 [控制台] 窗口

 

 

4)在管理台中,点击 [文件] --> [添加/删除管理单元]

 

 

5)在添加或删除管理单元中找到刚才注册的 [Active Directory 架构] 单元,然后点 [添加],之后确定

 

 

6)还是和前面一样,在架构单元上点右键,先要选择 [更改Active Directory 域控制器] ,将管理的单元直接切换到另一个将要传送角色的额外DC上,之后再点击 [操作主机]

 

 

7)在弹出的窗口中点击更改,就可以将架构主控从DC传送到DC2上。

 

 

 

  到此,主控上的五大主控都传送到另一台额外DC上去了。这时额外DC就成了真正意义上的主控DC,而原主控DC刚成了额外了。(注意,windows2003开始,已经没有主和副的概念了,只有主DC和额外DC,所有DC都是平等的,谁担任了这五大FSMO主控角色谁就是主DC)。之后,可以把用户的DNS指向新的这台DC(已有DNS服务)。或将原主控DC下线,把新的DC改IP为原主DC(不推荐改新DC主机的IP方式,这样做存在一些可可见的风险)

 

  二、抓取,也叫占用(抓取只能使用命令行工具,传送也可以用命令行方式)
1 ntdsutil            进入ntds工具提示符
2 roles             调整操作主机角色
3 connections          进入连接模式
4 connect to server "DC名"    连接到可用DC上
5 quit                                      返回上层菜单
6 transfer pdc                        (或其他) 进行转移或抓取
7 quit 退出

 

 

第6步的命令可以改为以下:
-抓取角色命令-


占用 RID 主机角色
seize RID master

占用 PDC 模拟器角色
seize PDC

占用结构主机角色
seize infrastructure master

占用域命名主机角色
seize domain naming master

占用架构主机角色
seize schema master

 

-传送角色命令-

转移 RID 主机角色
transfer RID master

转移 PDC 模拟器角色
transfer PDC

转移结构主机角色
transfer infrastructure master

转移域命名主机角色
transfer domain naming master

转移架构主机角色
transfer schema master

 
---------------------
作者:iloli
来源:CSDN
原文:https://blog.csdn.net/iloli/article/details/6620033
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/zmwgz/p/10814997.html

相关文章:

  • Linux学习
  • 面试官:说说双亲委派模型?
  • 北京
  • yocto添加层简介
  • 渐变文件夹,一定要收下这两套超级精美的文件夹图标!
  • 博客
  • 学习python的第一天-模拟用户登录接口,输入错误三次锁定
  • 如何测量距离?ABViewer热门技术问答精选合集!
  • vue脚手架的报错
  • 在阿里云IIS服务器上安装证书
  • 重磅!阿里云时空数据库正式免费公测
  • 用C#在去中心化交易所OceanOne上挂单买卖任意ERC20 token
  • 时隔五年,Scrapyd 终于原生支持 basic auth
  • (编译到47%失败)to be deleted
  • (一)插入排序
  • Android框架之Volley
  • Angular Elements 及其运作原理
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • express如何解决request entity too large问题
  • HTTP那些事
  • JDK 6和JDK 7中的substring()方法
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • js学习笔记
  • 阿里云Kubernetes容器服务上体验Knative
  • 从零搭建Koa2 Server
  • 翻译--Thinking in React
  • 关于使用markdown的方法(引自CSDN教程)
  • 译自由幺半群
  • 在Mac OS X上安装 Ruby运行环境
  • python最赚钱的4个方向,你最心动的是哪个?
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • #Linux(帮助手册)
  • (8)STL算法之替换
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (附源码)计算机毕业设计ssm电影分享网站
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .net 获取url的方法
  • .NET/C# 使窗口永不获得焦点
  • .Net中的集合
  • ::
  • @AliasFor注解
  • @Autowired和@Resource的区别
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [20171101]rman to destination.txt
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [BUG]vscode插件live server无法自动打开浏览器
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • [DM复习]关联规则挖掘(下)
  • [hdu2196]Computer树的直径
  • [IDF]被改错的密码
  • [JS]JavaScript 简介
  • [python]PyPI使用国内源