news 2026/6/15 14:01:49

域控宕机!如何强制夺取五大角色恢复业务?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
域控宕机!如何强制夺取五大角色恢复业务?

背景:近年来,针对企业的勒索病毒攻击愈发猖獗。试想一下,如果核心的Active Directory(AD)域控制器被勒索加密或硬件损坏无法启动,导致全公司认证瘫痪,作为安全/运维人员,该如何快速救火?

在多域控环境下,当主域控彻底故障且无法恢复时,我们不能坐以待毙。本文将手把手教你如何在辅助域控上强制夺取AD域五大操作主机角色(FSMO),并彻底清除故障残留,确保业务连续性。

1. 实验环境拓扑

为了还原真实场景,我们搭建了如下模拟环境:

  • DC01 (故障机)

    • 操作系统:Windows Server 2022

    • IP地址:192.168.232.100

    • 状态:原五大角色持有者,模拟断电/系统崩溃,彻底离线

  • DC02 (救援机)

    • 操作系统:Windows Server 2022

    • IP地址:192.168.232.101

    • 状态:正常运行,准备接管角色

  • Client01 (业务终端)

    • 操作系统:Windows 10 Pro

    • IP地址:192.168.232.200

    • 作用:模拟域内普通用户,验证故障期间及恢复后的业务可用性

高危警告:“强制夺取”仅适用于原FSMO角色持有者彻底损坏且永远不会再上线的情况。 如果原DC01后续可能恢复,请尽量使用“平滑迁移”而非“强制夺取”。若原DC01被强制夺权后又重新联网,可能会导致USN回滚等严重数据灾难!

2.为什么要关注五大角色?

当域环境中存在多个域控时,各个域控信息同步,互为备份,上面存储的域内信息都是一样的,既然域控制器存储的信息都是一样的,那么域控损坏是不是可以直接不管放弃呢?答案是并不是,域控服务器作用不取决于它是网络中的第几台域控制器,而取决于FSMO五种角色在网络中的分布情况,FSMO的五种角色,想必都或多或少有一些了解,简单说一下5个操作主机的概念:

架构主机 (Schema Master)

同一个时间内,整个林中只能有一台架构主机,负责更新活动目录架构(如添加新对象类型或属性),若该主机故障,将影响新软件安装等需要修改架构的操作

域命名主机 (Domain Naming Master)

同一个时间内,整个林中只能有一台域命名主机,管理域的创建、删除及重命名操作。缺失时无法新增或删除域

PDC (PDC Emulator)

每一个域内只能有一台域控制器扮演PDC主机的角色,处理旧版客户端兼容、时间同步、密码验证及组策略更新。域内所有DC需同步其时间设置,缺失可能导致时间同步问题。

RID池管理器(RID Master)

每一个域内只能有一台域控制器扮演RID主机的角色。分配全局唯一标识符的局部部分(Relative ID),故障时无法创建新安全主体(如用户/计算机账户)

基础结构主机 (Infrastructure Master)

维护跨域对象引用的一致性,确保用户/组信息在多个域中同步。缺失会导致域间引用错误。如果所有域控制器同时都是全局编录,则由哪台域控扮演都无所谓

3.实战:强制夺取五大角色

3.1 确认故障与环境

如果五个操作主机都在正常的域控制器中,直接进行清除故障主机即可

现在的DC01是这个新林中第一台域控制器,默认所有的操作主机都在这一台上面。

关闭DC01,模拟DC01无法启动

登录DC02,确认主机角色,确认DC01不可达

3.2 启动 ntdsutil 工具

一般强制占用顺序为:架构主机、域命名主机、PDC主机、RID主机、结构主机;注意当前域控的首选DNS一定要指向自己。不建议使用127.0.0.1,故障主机建议直接关机或者断网

管理员身份运行 PowerShell 或 CMD,输入以下命令进入交互模式

ntdsutil Roles Connections Connect to server <当前域控服务器完整名字> Quit

3.3 执行强制夺取命令

依次执行以下5条命令。注意:每输入一条,系统会尝试先安全转移,发现连不上DC01后,会弹出确认框,直接点【是】进行强制夺取。

3.3.1 占用架构主机:seize schema master

选择"是",每次运行强制占用都会先尝试安全转移主机角色,失败报错后会进行强制占用角色。

3.3.2 占用域命名主机:seize naming master

选择"是"

3.3.3 占用PDC主机:seize pdc

选择"是"

3.3.4 占用RID主机:seize rid master

选择"是"

3.3.5 占用基础结构主机:seize infrastructure master

选择"是"

3.3.6 验证结果

输入quit退出到CMD界面,运行以下命令查询当前角色持有者

如果显示的都是DC02,恭喜你,夺权成功!

3.4 清除故障主机的记录

夺权虽成功,但AD数据库里还有DC01的“幽灵记录”,必须彻底清除,否则日志会一直报错。

使用 ntdsutil 清除元数据

继续以管理员身份运行 PowerShell

ntdsutil Metadata cleanup Connections Connect to server <当前域控服务器完整名字> Quit

接下来选择要删除的目标(请根据你的实际编号选择)

select operation target list domains select domain <编号> # 选择故障DC所在的域 list sites select site <编号> # 选择故障DC所在的站点 list servers in site select server <编号> # 选择故障DC

最后执行删除

quit #返回上一层 remove selected server #删除故障机器

系统会弹出确认对话框,确认无误后点击确定。

这是最后一步大扫除

3.4.1 去Active Directory 站点和服务删除DC01的残余记录

打开Active Directory 站点和服务,找到 DC01,右键删除。

3.4.2 去DNS管理中删除

打开DNS管理器,检查正向查找区域、_msdcs 等区域,删除所有与 DC01 相关的 A记录、NS记录和 SRV记录。

至此,DC01彻底被清除

通过以上步骤,我们成功在单台域控故障的情况下,保住了域环境的完整性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:18:39

Java行为验证码终极指南:从入门到企业级部署的完整解决方案

Java行为验证码终极指南&#xff1a;从入门到企业级部署的完整解决方案 【免费下载链接】tianai-captcha 可能是java界最好的开源行为验证码 [滑块验证码、点选验证码、行为验证码、旋转验证码&#xff0c; 滑动验证码] 项目地址: https://gitcode.com/dromara/tianai-captch…

作者头像 李华
网站建设 2026/6/15 12:23:25

ms-swift支持模型公平性评估避免偏见放大

ms-swift 支持模型公平性评估&#xff0c;避免偏见放大 在金融信贷审批中拒贷率存在性别差异&#xff0c;在医疗诊断建议里对少数族裔症状反应迟缓&#xff0c;在招聘系统中将“领导力”默认与男性挂钩——这些并非人为故意的歧视&#xff0c;而是大语言模型&#xff08;LLM&am…

作者头像 李华
网站建设 2026/6/13 14:40:51

利用 Python Pint 单位处理包——第一部分

原文&#xff1a;towardsdatascience.com/leveraging-python-pint-units-handler-package-part-1-716a13e96b59 如果你从事工程或科学领域的工作&#xff0c;或者你是一个参与供应链运营、环境可持续性或任何使用物理量&#xff08;如时间、质量和长度&#xff09;的领域的人&a…

作者头像 李华
网站建设 2026/6/15 13:39:17

Flutter PDF生成与打印完整指南:dart_pdf与printing插件的终极教程

Flutter PDF生成与打印完整指南&#xff1a;dart_pdf与printing插件的终极教程 【免费下载链接】dart_pdf Pdf creation module for dart/flutter 项目地址: https://gitcode.com/gh_mirrors/da/dart_pdf 在移动应用开发中&#xff0c;PDF文件的生成和打印功能已经成为许…

作者头像 李华
网站建设 2026/6/15 13:38:50

DeepSeek大语言模型GPU配置实战:从单卡到多卡的完整部署方案

DeepSeek大语言模型GPU配置实战&#xff1a;从单卡到多卡的完整部署方案 【免费下载链接】DeepSeek-LLM DeepSeek LLM: Let there be answers 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-LLM 还在为大语言模型部署的GPU内存配置而头疼吗&#xff1f;本…

作者头像 李华
网站建设 2026/6/15 13:39:22

JLink接线小白指南:快速理解引脚定义

JLink接线实战指南&#xff1a;从零搞懂引脚定义与调试连接你有没有遇到过这样的场景&#xff1f;新焊好的开发板&#xff0c;信心满满插上J-Link&#xff0c;打开IDE准备烧录程序——结果提示“No target connected”。反复检查接线、换线、重启软件……折腾半小时&#xff0c…

作者头像 李华