Windows Server 2003 主辅域控搭建与 FSMO 迁移避坑实战

发布时间:2026/10/24 21:22:57
Windows Server 2003 主辅域控搭建与 FSMO 迁移避坑实战

简介:围绕主域控制器与辅助域控制器的部署及迁移,这份文档面向正在学习 Windows Server 活动目录、需要完成域控实验或运维交接的初中级技术人员,重点解决主域搭建、额外域控加入以及 FSMO 角色与全局编录转移等实操问题。资源包仅含 1 个 docx 文件,约 566KB,以步骤说明和命令清单形式组织,便于按章节查阅与对照练习。内容从 Windows Server 2003 环境下使用 dcpromo 新建 Jiajie.com 域讲起,依次覆盖辅助域控的 IP/DNS 设置与额外域控安装、系统状态备份、RID/PDC/基础结构/域命名/架构五大主机角色迁移,并给出 ntdsutil 的 transfer 与 seize 命令及全局编录调整方法。已有 2064 人学习,适合用作域控迁移的实验手册和排错参考,能帮助读者理清操作顺序、理解角色转移与强制夺取的适用场景。

1. 接手一台 Windows Server 2003,最怕的不是蓝屏

接手一套 Microsoft Windows Server 2003 Enterprise Edition 的老域时,最怕的往往不是开机蓝屏,而是域还在跑、却没人说得清当初是怎么搭起来的。主域控和辅助域控这种双机结构,当年在机房里几乎人手一套,真到了要加一台额外域控,或者把主域控整体迁到新机器上,dcpromo 会停在哪一页、辅助域控的 DNS 该指向谁、五个 FSMO 角色用界面点还是用 ntdsutil 抢,没亲手走过一遍的人是真不敢按下一步。这篇不打算先讲活动目录的原理,直接按我搭过的那一轮顺序走:两台 Server 2003 从 IP 和主机名规划开始,装主域控、加辅助域控、再做主域控制器的迁移,中间哪几个参数不能随手改、哪几个坑能让人折腾到后半夜,都写在下面。

2. 主域控搭建:从 IP 规划到 dcpromo 跑完重启

动手之前先把两台机器的身份信息固定下来。这一步很多人图快,直接开虚拟机装完就敲 dcpromo,结果装到一半发现主机名跟后面要用的域控名对不上,改主机名又要重启,前面填的东西白填。先把表填好,后面每一步都有对照。

2.1 两台机器的 IP、掩码、DNS 对照表

项目主域控(A)辅助域控(B)
操作系统Windows Server 2003 Enterprise Edition同左
计算机名AB
IP 地址1.1.1.11.1.1.2
子网掩码255.0.0.0255.0.0.0
默认网关同网段不填同网段不填
首选 DNS1.1.1.1(自身实际 IP)1.1.1.1
域全名Jiajie.comJiajie.com
NetBIOS 名JIAJIEJIAJIE
目录服务还原密码adchinaadchina

255.0.0.0 是 A 类掩码,配上去之后 1.1.1.1 和 1.1.1.2 落在同一个子网里,做实验最省事。注意这是实验环境的取法,1.1.1.0/8 是公网地址段,搬到真实内网一定要换成规划过的私网段,否则以后接路由器会出乱子。

首选 DNS 这里有个细节值得说:主域控装完活动目录之后,首选 DNS 指 127.0.0.1 也能跑,但我更习惯填自身实际 IP 1.1.1.1。原因是某些老版本网卡驱动在回环地址上注册 SRV 记录会漏项,用实际 IP 少一层玄学。辅助域控 B 的首选 DNS 必须填 1.1.1.1,不能填自己,这一点后面加域时会反复用到。

2.2 dcpromo 之前必须验的三件事

在 A 上执行 dcpromo 之前,先花两分钟做三项检查,比事后翻日志省事得多。

:: 1. 确认主机名、IP、DNS 都已经是规划好的值 ipconfig /all hostname :: 2. 确认 DNS 解析链路正常(装之前没有域记录,返回失败是正常的) ping 1.1.1.1 :: 3. 确认系统盘以外还有可用空间,目录数据库和日志别全堆在 C 盘 dir c:\

ipconfig /all输出里重点看三项:Host Name 是不是 A、IP Address 是不是 1.1.1.1、DNS Servers 是不是 1.1.1.1。hostname再确认一次短名,因为 dcpromo 会拿这个短名去拼 FQDN,短名写错了后面生成的 A.jiajie.com 对不上,SRV 记录也会跟着歪。

磁盘这一项是血泪经验。Server 2003 默认把 NTDS 数据库、事务日志和 SYSVOL 全放在 C:\WINDOWS 下,实验环境跑跑没问题,但一旦域里有几百个对象,日志写满系统盘是很常见的翻车现场。如果虚拟机挂了第二块盘,向导里那两页存储位置就改到 D 盘去;只有一块盘就老实接受默认值,别为了「规范」把 C 盘切得太小。

注意:主机名改完必须重启才生效,别在同一会话里改完名字直接敲 dcpromo。我踩过一次,向导读到的还是旧名,装完的域控 FQDN 跟规划差一截,最后只能 dcpromo /forceremoval 拆掉重来。

2.3 向导十一页,逐页说清楚填什么

准备就绪后在 A 上打开运行框输入 dcpromo,剩下的是十一页向导。这一节把每页的选择和背后的理由一次讲透,照着填就行。

:: 开始 -> 运行,或者直接 Win+R dcpromo

向导各页的填写内容与判断依据如下:

  1. 欢迎页与操作系统兼容性:直接下一步。Server 2003 会提示跟 Windows 95、NT 4.0 早期版本的兼容性问题,实验环境不用管。
  2. 域控制器类型:选「新域的域控制器」。这一页决定这台机器是新建域还是加入已有域,选错了后面整套流程都不一样,只能重来。
  3. 创建一个新域:选「在新林中的域」。这是林里的第一台域控,没有上级域可选。
  4. 新的域名:填Jiajie.com。这个就是 DNS 全名,后面所有 SRV 记录都挂在这下面,一旦定下来再改就要走域重命名,2003 时代基本等于重装。
  5. 新的 NetBIOS 域名:自动带出JIAJIE,保持默认。老客户端和部分只认短名的应用靠它登录。
  6. 数据库和日志文件文件夹:默认C:\WINDOWS\NTDS。有两块盘就分别指向 D 盘的两个不同目录,日志和数据分盘能减少 I/O 争抢。
  7. 共享的系统卷:默认C:\WINDOWS\SYSVOL。这一份会被复制到所有域控上,装完会自动共享成 SYSVOL 和 NETLOGON。
  8. DNS 注册诊断:选第二项,让向导「在这台计算机上安装并配置 DNS 服务器,使它与该域一起使用」。这是整套流程里最关键的一页,选错会得到一个装好了 AD 但解析不了自己的域控。
  9. 权限:选「只与 Windows 2000 或 Windows Server 2003 兼容」。除非域里真有 NT 4.0 的成员服务器要加进来,否则不要选兼容早期版本那一项,它会放宽匿名访问的权限。
  10. 目录服务还原模式的管理员密码:填adchina。这一页的弹窗标题是 Restore Mode Password,指的是目录服务还原模式密码,跟 Administrator 的登录密码是两回事,别混。
  11. 摘要:核对一遍域名、NetBIOS 名和路径,点下一步开始安装,装完提示重启。

第 8 页值得单独展开。DNS 注册诊断页在装之前会报一个「无法联系到处理该名称的 DNS 服务器」的警告,这是正常的,因为此刻还没有 DNS。页面下方给出两个选项,第一项是「在这台计算机上安装并配置 DNS 服务器,使它与该域一起使用」,第二项是同样的描述但明确标注推荐。区别在于第一项装完后 DNS 只做基础配置,第二项会把正向查找区域和 SRV 记录一并建好。选第二项,装完直接在 DNS 控制台里能看到_msdcs、_sites、_tcp、_udp四个文件夹,说明记录注册成功。

第 10 页的密码也有讲究。adchina只有七位、全小写、不含数字和符号,按域级别的密码策略是过不了的。之所以能填进去,是因为此刻域还不存在,校验用的是本机的本地安全策略,而 Server 2003 的本地策略默认没开密码复杂度。装完之后域默认策略一启用,这个密码就成了历史遗留问题。常见做法是装完立刻把目录服务还原密码改成一个符合复杂度的值,用ntdsutil里的set dsrm password命令改,别等到真要还原的时候才发现密码登不进去。

2.4 重启之后先别急着加第二台

主域控重启完,很多人第一反应是赶紧去配 B。先停一下,在 A 上把这三项验完,不然后面加域控出问题,你分不清是主域控本身没装好还是网络没通。

:: 1. 目录服务健康检查,把详细输出落到文件里慢慢看 dcdiag /v > c:\dcdiag_after_dcpromo.txt :: 2. 确认 SYSVOL 和 NETLOGON 两个共享已经自动建好 net share :: 3. 确认域控的 SRV 记录已经注册到 DNS 里 nslookup -type=srv _ldap._tcp.dc._msdcs.jiajie.com 1.1.1.1

dcdiag /v的输出里,重点看 Connectivity、Advertising、NetLogons、Replications 这几项的结论是不是 passed。net share输出里必须有 SYSVOL 和 NETLOGON 两行,缺任何一个都说明 sysvol 还没共享出来,通常是文件复制服务还没跑完,等几分钟再查,实在不行重启一次 Netlogon 服务。nslookup那条查询如果能返回 A.jiajie.com 和 1.1.1.1,说明 SRV 记录注册正常,辅助域控加域时才能靠 DNS 找到主域控。

三项都过了再往下走。这一步花的时间,比后面加域控失败回头排查要少得多。

3. 辅助域控搭建:额外域控怎么加、复制怎么验

辅助域控在活动目录里的正式叫法是「现有域的额外域控制器」,它不是备份域控(BDC)那一套老机制,而是多主复制里的另一台 DC。装对了,主域控上的用户、组、组策略会自动复制过来;装错了,最常见的结果是两台机器各说各话,事件日志里刷复制错误。

3.1 加域前先把 IP 和 DNS 指到主域控

在 B 上先改网络配置,这一步做错,后面 dcpromo 一定会卡在「找不到域」那一页。

:: 在 B 上配置静态 IP,DNS 必须指向主域控 netsh interface ip set address name="本地连接" static 1.1.1.2 255.0.0.0 netsh interface ip set dns name="本地连接" static 1.1.1.1 :: 验证连通性和域名解析 ping 1.1.1.1 nslookup jiajie.com 1.1.1.1 nslookup -type=srv _ldap._tcp.dc._msdcs.jiajie.com 1.1.1.1

ping 1.1.1.1只证明三层通,不证明 AD 能用。真正要看的是后面两条 nslookup:nslookup jiajie.com 1.1.1.1应该返回主域控的 IP,-type=srv那条应该返回 A.jiajie.com 和 389 端口。如果 ping 通但 nslookup 超时,问题一定在 DNS 上,可能是 B 的首选 DNS 没改、也可能是 A 上的 DNS 服务没监听 1.1.1.1,先解决这个再谈 dcpromo。

端口层面也顺手看一眼。AD 认证依赖 389(LDAP)、445(SMB)、135(RPC 端点映射)、53(DNS),可以用 telnet 直接探:

telnet 1.1.1.1 389 telnet 1.1.1.1 445

能连上会看到黑屏或者直接断开,连不上会提示连接失败。Server 2003 默认没装 telnet 客户端的话,用portqry -n 1.1.1.1 -p tcp -o 389,445,135,53也行,portqry 在 Support Tools 里。这一招在排查「网络通但加不了域」时特别管用,比抓包快得多。

还有一件事容易被忽略:把 B 的计算机名确认成 B,并且不要提前把 B 手动加入域。很多人习惯先在「我的电脑 → 属性 → 计算机名」里把机器加入 jiajie.com,然后再跑 dcpromo,多这一步不但没必要,还经常因为 DNS 配错卡在「找不到域控制器」。dcpromo 在额外域控流程里会自己完成加入动作,前提是网络凭据页给的账号有权限。

3.2 dcpromo 选「现有域的额外域控制器」的完整页序

在 B 上打开运行框,同样是 dcpromo,但向导走的是另一条分支。

:: 在 B 上执行,跟主域控是同一个命令,分支由第二页决定 dcpromo

各页的填法:

  1. 欢迎页与兼容性提示:下一步。
  2. 域控制器类型:选「现有域的额外域控制器」。这一页选错成「新域的域控制器」,就会在一台已经有域的机器上再建一个新林,两台 DC 从此互不相干。
  3. 网络凭据:用户名填JIAJIE\Administrator,密码填主域控的本地管理员密码,域填JIAJIE。这里的账号必须在目标域里有「域管理员」或至少「企业管理员」权限,普通域用户过不去。
  4. 额外域控制器域名:填Jiajie.com。注意这里填的是 DNS 全名,不是 NetBIOS 名,填 JIAJIE 会报「无法联系到域」。
  5. 数据库和日志文件文件夹:跟主域控保持一致的规划,有两块盘就分开放。
  6. 共享的系统卷:默认路径,装完后 B 上也会有 SYSVOL 和 NETLOGON 共享。
  7. 目录服务还原密码:填adchina,跟主域控保持一致。两台机器的还原密码不同并不是错误,但运维时容易记混,统一更省心。
  8. 复制来源:选「通过网络从下列服务器复制」,服务器列表里选A.jiajie.com。如果这一步留空,向导会自己挑一台可用的 DC,在只有两台机器的环境里结果一样,但显式指定能避免以后加第三台时搞不清初始数据是从谁那儿来的。
  9. 摘要:核对后点下一步,开始复制初始数据,完成后重启。

第 3 页的网络凭据是最容易翻车的地方。填jiajie\administrator时要注意反斜杠方向,填成jiajie/administrator会直接报凭据无效;另外如果主域控的 Administrator 账号被改过名,这里必须用改后的名字,用 Administrator 会提示「用户名或密码不正确」,明知密码没错也会卡住。

3.3 复制验收到事件日志为止

B 重启之后,两台域控之间的复制是自动的,默认间隔 15 分钟。但「能自动复制」和「现在就复制成功」是两件事,加完域控立刻做一次手动触发,能提前发现问题。

在辅助域控 B 上打开「Active Directory 站点和服务」,展开 Sites → Default-First-Site-Name → Servers → A → NTDS Settings,右键选「立即复制」,然后在 B 自己的 NTDS Settings 上做同样的操作往反方向推一次。图形界面之外,用命令行更直接:

:: 查看复制伙伴和最近一次复制结果 repadmin /showrepl :: 生成一份复制健康摘要,重点看 error 数量 repadmin /replsummary :: 手动触发一次从 A 到 B 的复制 repadmin /replicate B.jiajie.com A.jiajie.com DC=jiajie,DC=com :: 只测复制这一项 dcdiag /test:replications /v

repadmin /showrepl的输出会按分区列出每个复制伙伴,重点看「Last replication was ... ago」和失败计数,正常情况下最近一次同步应该在一刻钟以内。repadmin /replsummary更直观,直接给出最大延迟和错误数,两台的错误数都应该是 0。

repadmin /replicate那条命令的参数顺序要记清楚:第一个是目标 DC(把数据写到谁那儿),第二个是源 DC(数据从谁那儿来),第三个是要复制的命名上下文。写反了不会报错,只是方向相反,容易在排查时误判。

最土也最有效的验收方法是在主域控上新建一个测试用户,然后到辅助域控上打开「Active Directory 用户和计算机」找这个用户。命令行触发完复制后,如果 B 上立刻能看到,说明整条链路是通的;如果看不到,先看事件查看器里「目录服务」日志有没有 1869、1311 这类复制错误码,1311 通常意味着两台机器的 DNS 后缀或者站点配置不一致。

原文里那句「经测试,主域控制器的数据能及时复制到辅助域控上面」,靠的就是这一套验证。别只看 dcpromo 最后那页打了个勾就完事,复制是会中途出问题的。

4. FSMO 五角色迁移:界面点选与 ntdsutil 命令对照

演练到这一步,两台域控都在跑,数据也在互相复制,接下来才是真正的主域控制器迁移。活动目录里有五个操作主机角色,也就是常说的 FSMO,分布在林的根域和各个域里:架构主机和域命名主机是林级别的,各只有一台;RID 主机、PDC 仿真主机、基础结构主机是域级别的,每个域各一台。迁移的目标是把这五个角色从 A 挪到 B,再配合全局编录的调整,让 B 成为实际的主力。

4.1 动手前先 ntbackup 备份 system state

迁移本身不算高风险操作,但迁移过程中如果出意外,没有备份就只能靠 seize 硬抢,抢完老域控基本报废。所以第一步永远是备份。

:: 开始 -> 运行,打开自带的备份工具 ntbackup

打开后切到「备份」选项卡,在左侧树里勾选「System State」,这是系统状态,包含注册表、SYSVOL、活动目录数据库、证书服务等关键内容。目标位置选一块空闲空间够大的盘,生成的 .bkf 文件大小通常在两三百兆到一两个 G 之间,视域规模而定。

命令行也能做,适合写进计划任务:

:: 用命令行做一次系统状态备份,/j 指定任务名,/f 指定输出文件 ntbackup backup systemstate /j "FSMO迁移前备份" /f "D:\backup\sysstate_pre_fsmo.bak" /l "D:\backup\backup.log"

参数里/j是这次备份的任务标识,后续在备份工具的还原界面里能按这个名字找回;/f是备份文件路径,注意目录必须事先存在,ntbackup 不会自己建目录;/l是日志文件,出问题时靠它定位。

备份做完一定要做一次「还原验证」,哪怕只是打开备份工具点「还原和管理媒体」确认文件能被识别。我见过备份文件因为磁盘写满只写了一半的情况,等到真要还原才发现文件损坏,那时候已经没有后悔药了。

4.2 RID、PDC、基础结构:在「AD 用户和计算机」里转移

三个域级别角色的转移路径是一样的,都在「Active Directory 用户和计算机」里操作。

第一步是让控制台连到目标域控 B,而不是默认的 A:

  1. 打开「Active Directory 用户和计算机」,在域名jiajie.com上右键,点「连接到域控制器」。
  2. 在弹出的列表里选中B.jiajie.com,确定。这一步不做,后面所有的「更改」都是把角色在 A 内部转来转去,等于没做。

第二步是逐个转移:

  1. 在域名上右键,点「操作主机」,弹出三个选项卡:RID、PDC、基础结构。
  2. 当前持有者会显示成A.jiajie.com,点「更改」,确认后变成B.jiajie.com。
  3. PDC 和基础结构两个页签重复同样的动作。

三个页签里,PDC 仿真主机的意义最实在:它承担密码修改的最终裁决、时间同步源、以及组策略编辑时的默认连接点。RID 主机负责给新创建的安全主体分配 RID 池,短期内分配完了会影响新用户创建。基础结构主机负责跨域引用对象的更新,在只有一个域的环境里它几乎不干活,但角色还是得转,否则单点故障依然存在。

注意:「操作主机」对话框里的「更改」按钮是灰色的,九成是因为当前控制台连的还是原域控,或者登录账号不是企业管理员/域管理员。先回到「连接到域控制器」那一步确认连接目标。

4.3 域命名主机:换个控制台

域命名主机管的是林里新增、删除、重命名域的操作,路径不在「AD 用户和计算机」里,而在「Active Directory 域和信任关系」。

  1. 打开「Active Directory 域和信任关系」,在根节点上右键,点「连接到域控制器」,选B.jiajie.com。
  2. 再次在根节点上右键,点「操作主机」,这一页只有一个域命名主机选项卡。
  3. 点「更改」,确认后角色转到 B。

这一步的坑在于控制台连接状态不共享。你在「AD 用户和计算机」里连到 B,不代表「AD 域和信任关系」也连到了 B,两个控制台各管各的。所以每换一个控制台,都要重新做一次「连接到域控制器」。

4.4 架构主机:先 regsvr32 schmmgmt.dll 再开 MMC

架构主机是五个角色里最麻烦的一个,因为它默认在管理工具里根本没有对应的入口,必须先注册一个 DLL,再手工往 MMC 控制台里添加管理单元。

:: 注册架构管理单元的动态链接库 regsvr32 schmmgmt.dll

执行成功会弹一个「DllRegisterServer in schmmgmt.dll succeeded」的对话框。如果提示找不到模块,说明这个文件不在系统里,Server 2003 上它一般在C:\WINDOWS\System32下,确认路径后可以用完整路径注册。

注册完之后手工搭控制台:

  1. 运行框输入mmc,打开一个空白控制台。
  2. 按 Ctrl+M 或者点「文件 → 添加/删除管理单元」。
  3. 在列表里找到「Active Directory 架构」,点「添加」,再点「关闭」,最后「确定」。
  4. 回到控制台,在「Active Directory 架构」节点上右键,点「更改域控制器」。
  5. 选「指定名称」,输入B.jiajie.com,确定。
  6. 再次右键,点「操作主机」,点「更改」。

第 5 步是很多人漏掉的。如果直接用默认连接,控制台连的是 A,点「更改」就是把架构主机从 A 改到 A,走完一圈发现角色没动,还以为是权限问题。判定方法很简单:改完之后看「操作主机」对话框里显示的当前持有者,必须是 B.jiajie.com 才算成功。

还有一个隐性前提,操作架构主机需要当前账号在 Schema Admins 组里。这个组默认只有 Administrator,如果用的是别的管理员账号,先把账号加进去,重新登录一次让组成员身份生效,否则「更改」按钮会一直是灰的。

4.5 全局编录:站点和服务里的一勾一取消

全局编录不是 FSMO 角色,但它在多域控环境里的作用跟角色迁移同样关键。全局编录服务器保存了林里所有域的部分属性副本,登录认证、Exchange 地址簿查询、跨域组嵌套解析都要找它。默认情况下林里的第一台域控就是全局编录服务器,如果 A 要下线,这个身份必须交给 B。

操作在「Active Directory 站点和服务」里:

  1. 打开控制台,在根节点上右键,点「连接到域控制器」,选B.jiajie.com。
  2. 依次展开 Sites → Default-First-Site-Name → Servers → A → NTDS Settings。
  3. 右键 NTDS Settings,点「属性」,把「全局编录」前面的勾去掉。
  4. 再展开 Servers → B → NTDS Settings,同样右键属性,把「全局编录」勾上。

顺序不能反。先给 B 勾上,等复制完成后再给 A 取消,中间这段两台都是全局编录,属于正常状态。反过来先取消 A 再勾 B,中间会有一段时间林里没有全局编录服务器,用户登录会报「目前没有可用的登录服务器」,排查起来很费劲。

勾选之后建议留出至少一轮复制间隔再验证。在 B 上打开事件查看器,看「目录服务」日志里有没有 1126 事件,它表示全局编录已经启动完成;用nltest /dsgetdc:jiajie.com /gc也能直接查出当前响应全局编录请求的是哪台机器。

4.6 ntdsutil:transfer 和 seize 的分界线

图形界面适合角色都健康、两台机器都在线的场景。如果原域控已经彻底起不来了,图形界面根本连不上它,「更改」按钮永远点不动,这时候只能用命令行。ntdsutil 提供两组动词:transfer 是「转移」,要求原持有者还活着并且能通信;seize 是「占用」,直接把角色抢过来,不管原持有者在不在。

先看转移的完整流程,以 RID 主机为例:

:: 进入 ntdsutil 交互环境 ntdsutil :: 进入角色维护模式 roles :: 建立到目标域控的连接 connections connect to server B.jiajie.com quit :: 执行转移 transfer RID master

逐段解释:ntdsutil是入口,进去之后提示符变成ntdsutil:;输入roles进入 FSMO 维护模式,提示符变成fsmo maintenance:;connections进入连接子模式,提示符变成server connections:,这时候才可以用connect to server指定要连哪台 DC;quit退回上一级;最后transfer RID master执行转移,成功会提示「正在将 RID 主机角色从 A.jiajie.com 转移到 B.jiajie.com」。

把所有转移命令列出来对照:

命令行作用
transfer PDC转移 PDC 仿真主机
transfer RID master转移 RID 主机
transfer infrastructure master转移基础结构主机
transfer domain naming master转移域命名主机
transfer schema master转移架构主机

原域控彻底损坏、无法开机时,把transfer换成seize:

ntdsutil roles connections connect to server B.jiajie.com quit seize RID master seize PDC seize infrastructure master seize domain naming master seize schema master quit quit

这五条对应的就是上面那张表的五个角色,动词换成 seize。执行前必须确认一件事:原域控 A 以后绝对不会再以任何形式接入网络。因为 seize 之后,A 的数据库里仍然认为自己是这五个角色的持有者,一旦它重新上线,就会出现两个 RID 主机同时分配 RID 池的情况,产生的安全标识符冲突是不可逆的,只能做元数据清理(ntdsutil里的metadata cleanup)把 A 的记录彻底删掉。

5. 避坑排查:主域控迁移里五个最容易翻车的点

5.1 ping 得通,dcpromo 却报「找不到域」

现象:辅助域控 B 上能 ping 通 1.1.1.1,资源共享也能访问,但 dcpromo 走到「额外域控制器域名」那一页填入 Jiajie.com 之后,报「无法联系到域 jiajie.com 的域控制器」。

原因:dcpromo 找域控靠的不是 ICMP,是 DNS 里的 SRV 记录。ping 通只说明三层可达,如果 B 的首选 DNS 没有指向 1.1.1.1,或者主域控的 DNS 服务没起来、SRV 记录没注册,dcpromo 就找不到入口。

解决:先在 B 上执行nslookup -type=srv _ldap._tcp.dc._msdcs.jiajie.com 1.1.1.1,能返回 A.jiajie.com 和 389 端口才叫正常。返回不了就回主域控查 DNS 控制台,看_msdcs、_sites、_tcp这几个文件夹在不在,不在的话重启主域控的 Netlogon 服务让它重新注册,注册完再回来跑 dcpromo。

5.2 「操作主机」里更改按钮是灰的

现象:打开「AD 用户和计算机」,右键域名点「操作主机」,对话框能弹出来,但「更改」按钮点不动,或者点了之后当前持有者还是 A。

原因:两个可能。一是控制台没有连接到目标域控 B,所有操作都还在 A 上打转;二是当前登录账号权限不够,不在 Domain Admins 或 Enterprise Admins 组里。

解决:先在域名上右键点「连接到域控制器」,把目标改成 B.jiajie.com 再操作。权限问题用whoami /groups确认当前账号的组成员身份,如果刚把账号加进管理员组,必须注销重新登录才生效,光刷新没用。

5.3 架构主机页面根本找不到

现象:打开 MMC 想添加「Active Directory 架构」管理单元,列表里翻遍了也没有这一项。

原因:schmmgmt.dll没有注册,管理单元没在系统里登记,自然列不出来。

解决:运行regsvr32 schmmgmt.dll,看到成功提示后重新打开 mmc,再按 Ctrl+M 添加。如果提示模块找不到,用完整路径regsvr32 C:\WINDOWS\System32\schmmgmt.dll再试一次。注册完不需要重启。

5.4 取消全局编录之后,登录突然变慢

现象:在 A 上把全局编录的勾去掉之后,域用户登录时间从几秒变成几十秒,偶尔报「目前没有可用的登录服务器」。

原因:站点里没有其他全局编录服务器,或者 B 上的全局编录还没完成初始同步。客户端登录时会去查全局编录,找不到就一路超时重试。

解决:先在 B 上把全局编录勾上,等事件日志里出现 1126 事件确认启动完成,再回头取消 A 的勾选。如果已经取消了,临时把 A 的勾加回去恢复服务,等 B 完全就绪后再操作一次。判定 B 是否就绪可以用nltest /dsgetdc:jiajie.com /gc。

5.5 用 seize 抢完角色,老域控又开机了

现象:原主域控硬件故障,用 seize 把五个角色抢到 B 上,一周后 A 修好被接回网络,域里开始出现各种奇怪现象:新建用户偶尔登录不上、组策略应用不一致、事件日志里刷 1353 和 1863。

原因:A 的数据库里仍然认为自己是 FSMO 持有者,重新上线后两台机器各自为政,RID 池重复分配导致 SID 冲突,这种损坏是不可逆的。

解决:seize 之前就要把 A 的硬盘拆掉或者彻底格式化,确保它不可能再以原身份上线。如果已经接回来了,立刻断网,在 B 上执行ntdsutil的metadata cleanup把 A 的服务器对象、NTDS 设置、复制连接全部删干净,然后检查有没有产生重复 SID 的对象,把有问题的用户重建。

6. 验证:装完之后怎么确认这套域真的跑通了

迁移做完不等于结束,还得有一套固定的收尾检查。我一般按下面这张表走一遍,全部通过才算交付。

检查项命令或位置期望结果
五个角色落在哪台netdom query fsmo五项全部显示 B.jiajie.com
域控清单netdom query dc列出 A 和 B 两台
复制健康度repadmin /replsummary两台的错误数为 0,最大延迟小于 15 分钟
目录服务整体dcdiag /test:replications /test:fsmocheck全部 passed
全局编录nltest /dsgetdc:jiajie.com /gc返回 B.jiajie.com
共享卷net shareSYSVOL、NETLOGON 都在

netdom在 Server 2003 的 Support Tools 里,装完光盘里的support\tools\suptools.msi就有。它比翻三个图形界面快得多,一条命令直接列出五个角色的当前持有者,是迁移收尾最省事的验证手段。

用 ntdsutil 也能看,适合没装 Support Tools 的机器:

ntdsutil roles connections connect to server B.jiajie.com quit ?

最后那个问号会列出所有角色命令以及当前的持有者,输出里能看到五行都是 B.jiajie.com 就对了。

除了命令,还有两个体感验证值得做。一是在辅助域控 B 上新建一个用户,然后到 A 上(此时 A 已经不是主力)确认能看到,说明复制是双向的;二是找一台成员机,把 DNS 指向 B,用域账号登录一次,能登进去说明认证链路完整。这两步比任何命令都更接近真实使用场景。

从那以后我每次动 FSMO 之前,都强制自己先跑一遍netdom query fsmo把结果存成文本快照,迁移完再跑一遍做对比。这个习惯救过我两次,一次是架构主机根本没转成功但没人发现,一次是全局编录提前取消了导致第二天早上一片登录失败。慢一步做记录,比事后通宵排查划算得多。希望帮到你。

本文还有配套的精品资源,点击获取