简介:面向系统管理员和Windows域环境运维学习者,这份docx文档聚焦主域控、辅助域控的搭建及主域控制器迁移,覆盖活动目录安装、额外域控制器部署、FSMO角色转移与强行夺取、全局编录设置和System State备份等核心操作。资源包共1个docx文件,压缩后约566KB,内容以实验步骤、图形界面操作和命令清单为主,便于按流程对照搭建与验证。已有2064人学习下载,适合需要完成域控实验、梳理迁移流程、处理域控故障或查漏补缺的系统运维读者参考。文档给出域控安装向导关键选项、系统状态备份、RID/PDC/基础结构主机角色迁移,以及ntdsutil命令行转移与夺取角色的用法,并交代迁移前备份域控制器、确认DNS与网络连通、迁移后检查复制状态等易遗漏检查点,可帮助读者定位迁移中的常见问题。
1. 老环境里把主域控、辅助域控和迁移一次做对
主域控、辅助域控的搭建以及主域控制器的迁移,放在 Windows Server 2003 Enterprise Edition 里做,最容易翻车的不是 dcpromo 本身,而是 IP、DNS 和计算机名没先定死。主域控 A 与辅助域控 B 要在同一网段,域名 Jiajie.com、NetBIOS 名 JIAJIE 一旦写进林里,再改就是血泪经验。
这套环境适合还在维护老 AD 实验环境、需要做主辅域控搭建和主域控制器迁移的开发者。装不好最常见的表现是:辅助域控加不进去、SRV 记录查不到、FSMO 角色转移按钮灰掉。
先把 A 和 B 的角色分清:A 是第一个域控制器,B 是额外域控制器,迁移时把五类 FSMO 角色和全局编录从 A 切到 B。下面按实际安装顺序走,命令按实际网段改。
2. 主域控搭建:在 Windows Server 2003 上跑 dcpromo 的完整顺序
主域控这一步不是只敲一个dcpromo就完了。A 的地址、DNS 指向、计算机名、域名的 DNS 全名和 NetBIOS 名,都会影响后面 B 能不能顺利加入。实验环境按 1.1.1.0/8 网段做,先把两台机器的角色固定下来:
| 项目 | 主域控 A | 辅助域控 B |
|---|---|---|
| 计算机名 | A | B |
| IP 地址 | 1.1.1.1 | 1.1.1.2 |
| 子网掩码 | 255.0.0.0 | 255.0.0.0 |
| 首选 DNS | 1.1.1.1 | 1.1.1.1 |
| 角色 | 第一台域控制器 | 额外域控制器 |
2.1 先配 A 的 IP、DNS 和计算机名
装 AD 之前,先把 A 的静态地址配好。DNS 先指向自己,等 dcpromo 把 DNS 区域建起来后再复查。计算机名改成 A,改完重启,不要等到提升域控时才改机器名,否则安装过程中会多一次重启,也容易把 DNS 记录弄乱。
:: 设置主域控 A 的静态地址,接口名按实际“本地连接”调整 netsh interface ip set address name="本地连接" static 1.1.1.1 255.0.0.0 :: DNS 先指向自己,安装完 DNS 角色后再验证 netsh interface ip set dns name="本地连接" static 1.1.1.1 primary :: 检查 IP、掩码、DNS 和计算机名 ipconfig /all hostnamenetsh interface ip set address里最后没有写网关,是因为实验环境里 A 和 B 在同一网段,不跨网段访问时网关可以先空着;如果实验网需要出网,再加一个 1.1.1.254 之类的网关地址。name="本地连接"必须和“网络连接”里看到的接口名一致,英文系统可能是Local Area Connection。ipconfig /all重点看 DNS 是不是 1.1.1.1,hostname确认机器名已经是 A。
2.2 dcpromo 向导里的关键选项:新林、新域、Jiajie.com
在 A 上打开“开始 → 运行”,输入dcpromo,按活动目录安装向导走。域控制器类型选“新域的域控制器”;创建一个新域时选“在新林中的域”;新域的 DNS 全名填Jiajie.com;NetBIOS 名填JIAJIE。数据库和日志文件位置、共享的系统卷位置,实验环境用默认路径即可,生产环境常见做法是把数据库、日志、SYSVOL 分到不同卷,日志不要和数据库挤在同一块慢盘上。
DNS 注册诊断这一步,按原文选第二项,也就是在这台计算机上安装并配置 DNS 服务器。权限选择“只与 Windows 2000 或 Windows Server 2003 兼容”。目录服务还原模式密码输入adchina,这个密码不是域管理员密码,而是以后进目录服务还原模式时用的,生产环境必须换成强密码并单独保管。安装完成后重启。
:: 在 A 上启动活动目录安装向导 dcpromo :: 重启后确认当前登录域和计算机角色 net config workstationdcpromo是活动目录安装向导的入口,图形界面里没有“下一步”可以跳过的关键项就是域名、NetBIOS 名和还原密码。net config workstation用来确认“域”这一行是不是Jiajie.com,如果还显示 WORKGROUP,说明提升没有真正完成,不要继续往下加 B。
2.3 安装后先查 DNS 和共享,不要急着加辅助域控
A 重启后先别急着在 B 上运行 dcpromo。A 必须先把 DNS 区域和 SRV 记录注册好,不然后面 B 会卡在“无法联系域控制器”。先看 NETLOGON、SYSVOL 共享有没有出现,再查域控制器的 SRV 记录,最后跑一遍域控制器诊断。
:: 查看 NETLOGON、SYSVOL 共享是否出现 net share :: 查询域控制器的 SRV 记录,域名按实际替换 nslookup -type=SRV _ldap._tcp.dc._msdcs.Jiajie.com :: 跑一遍域控制器诊断,输出到文件方便对照 dcdiag /v > C:\dcpromo-check.txtnet share正常应该能看到NETLOGON和SYSVOL,这两个共享没出来,说明 AD 安装不完整。nslookup查 SRV 记录时应该返回 A 的 1.1.1.1,如果返回“不存在”,先检查 DNS 区域和 A 的 DNS 指向。dcdiag在 Windows Server 2003 里通常来自 Support Tools,装系统时从安装介质的SUPPORT\TOOLS\SUPTOOLS.MSI装上,后面排错全靠它。
2.4 装完留一份基线:域名、角色和 DNS 指向
我一般会在 A 上留一份很短的基线记录:机器名、IP、域名、NetBIOS 名、DNS 指向、还原密码保管位置、netdom query fsmo的输出。后面迁移时最怕凭记忆判断“哪个角色原来在哪台机器上”,有一份基线就能前后对比。A 上可以顺手跑一下netdom query fsmo,这时五项角色应该都指向 A。
:: 记录当前 FSMO 角色归属,迁移后还要再跑一次对比 netdom query fsmo :: 记录当前域和站点信息,方便后面查全局编录 nltest /dsgetdc:Jiajie.comnetdom同样来自 Support Tools,query fsmo会列出 Schema、Domain Naming、PDC、RID、Infrastructure 五个角色。nltest /dsgetdc:Jiajie.com用来确认当前域控制器和站点信息,后面查全局编录时还会用到。把输出复制到文本里,迁移前、迁移后各留一份,比事后猜要靠谱。
3. 辅助域控搭建:把 1.1.1.2 接进 Jiajie.com 并确认复制
辅助域控不是再建一个新林,而是把 B 提升成现有域Jiajie.com的额外域控制器。这一步最容易错在 DNS:B 的 DNS 必须指向 A,不能指向公网 DNS,也不能指向自己。B 加入域之前,先保证 A 和 B 能互通、域名能解析。
3.1 B 的 IP、DNS 和连通性先打通
在 B 上把地址设成 1.1.1.2,掩码 255.0.0.0,DNS 指向 1.1.1.1。设置完先ipconfig /all看一遍,再ping 1.1.1.1,最后用nslookup查Jiajie.com。解析不成功就不要往下走,dcpromo 的“现有域的额外域控制器”会直接卡住。
:: 在 B 上设置静态地址,DNS 必须指向主域控 A 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 primary :: 检查 IP、DNS 和域名解析 ipconfig /all ping 1.1.1.1 nslookup Jiajie.com 1.1.1.1ping通只代表网络层通,不代表 AD 能装。nslookup Jiajie.com 1.1.1.1必须能返回 A 的地址,如果返回超时,先检查 A 的 DNS 服务有没有启动、区域有没有配置正确。Windows Server 2003 默认防火墙可能拦住 389、445、135 等端口,实验环境可以先关掉防火墙做连通性测试,装完再按需放行。
3.2 dcpromo 选“现有域的额外域控制器”
在 B 上运行dcpromo,域控制器类型选“现有域的额外域控制器”。网络凭据输入有权限加入域的账户,格式用JIAJIE\Administrator,密码按你环境里的域管理员密码填。额外的域控制器域名填Jiajie.com,如果向导里出现“从以下位置复制”之类的选项,选 A。数据库、日志、SYSVOL 位置实验环境用默认值,目录服务还原密码同样填adchina,安装完成后重启。
:: 在 B 上启动额外域控制器安装 dcpromo :: 重启后确认 B 已经作为域控制器在跑 net config workstationdcpromo在 B 上走的是“加入现有域”的流程,不是“新建林”。网络凭据里的域名写JIAJIE或Jiajie.com都可以,但账户必须有“域管理员”或“企业管理员”权限。重启后net config workstation里应该显示域为Jiajie.com,计算机角色不再是独立服务器。
3.3 用 repadmin 和测试用户验证复制
B 提升完成后,先看复制状态。repadmin /showrepl会列出复制伙伴和最近一次复制结果,repadmin /replsummary看最大延迟和失败数,dcdiag /test:replications做一次复制测试。最后在 A 上建一个测试用户,等一会儿在 B 上查,能查到就说明主域控的数据已经复制到辅助域控。
:: 查看 B 的复制伙伴和最近一次复制结果 repadmin /showrepl :: 查看复制摘要,重点看失败数和最大延迟 repadmin /replsummary :: 做一次域内复制测试 dcdiag /test:replications :: 在 A 上建测试用户,密码仅实验用 net user test01 Passw0rd! /add /domain :: 在 B 上查询该用户,确认复制成功 net user test01 /domainrepadmin来自 Support Tools,/showrepl里出现0个失败才正常。net user test01 /domain在 B 上能查到,说明目录数据已经从 A 复制过来;如果查不到,先看repadmin /replsummary的最大延迟,再查两台机器的时间差和 DNS。测试用户用完可以删掉,不要留在实验域里当长期账户。
4. 主域控制器迁移:五类 FSMO 角色和全局编录怎么切到 B
迁移不是把 A 关机就完事,而是把五类 FSMO 角色和全局编录从 A 切到 B。迁移前先备份系统状态,再按 RID、PDC、基础结构、域命名、架构的顺序转移,最后处理全局编录。图形界面能做的事先做图形界面,命令行适合批量转移和强制夺取。
4.1 迁移前用 ntbackup 做系统状态备份
在 A 上运行ntbackup,选中System State做备份。系统状态里包含活动目录、SYSVOL、注册表、COM+ 注册数据库等关键内容。实验环境可以把备份文件放到 D 盘或外接盘,不要和系统盘放一起。命令行也能做,适合留一条可复查的记录。
:: 迁移前备份系统状态,文件放到独立分区 ntbackup backup systemstate /j "AD-SystemState-Before-FSMO" /f "D:\Backup\AD-SystemState.bkf"systemstate表示备份系统状态,/j是任务名,/f是备份文件路径。备份完不要只看进度条,打开备份日志确认没有“跳过文件”或“卷影复制失败”。这个备份是迁移前的后悔药,虽然 Windows Server 2003 的恢复流程比较长,但真遇到角色转移错误时,有备份和没备份完全是两个心态。
4.2 图形界面转移 RID、PDC、基础结构和域命名
在 B 上打开“Active Directory 用户和计算机”,在域名上右击,选择“连接到域控制器”,选中 B,确定。然后在域名上右击,点“操作主机”,在 RID 选项卡里点“更改”,确定。PDC 和基础结构主机的转移操作一样,分别切到对应选项卡再点“更改”。域命名主机在“Active Directory 域和信任关系”里做,先连接到 B,再打开“操作主机”点“更改”。
:: 在 B 上注册架构管理单元,否则 MMC 里看不到“Active Directory 架构” regsvr32 schmmgmt.dll :: 打开空控制台,手动添加“Active Directory 架构” mmcregsvr32 schmmgmt.dll只做一件事:把架构管理单元注册到系统里。注册完后打开mmc,按Ctrl+M添加“Active Directory 架构”,再在架构上右击“更改域控制器”,指定名称输入DCB或 B 的计算机名,确定后再点“操作主机”更改。架构主机转移最容易错在没连到目标 DC,按钮灰掉时先回头检查“更改域控制器”有没有选对。
4.3 全局编录迁移:先在 B 勾上,再从 A 取消
全局编录不是 FSMO 角色,但迁移时经常一起做。原文顺序是先去掉 A 的全局编录再勾 B;我一般会反过来:先在 B 的NTDS Settings里勾选全局编录,等复制完成,再取消 A。这样短时间不会出现“目录里没有全局编录服务器”的空窗,用户登录和地址簿查询也不容易翻车。
:: 查看当前域有哪些全局编录服务器 nltest /dsgetdc:Jiajie.com /GC :: 检查复制状态,确认 B 已经拿到最新数据 repadmin /replsummarynltest /dsgetdc:Jiajie.com /GC会返回当前全局编录服务器,迁移前应该看到 A,迁移后应该看到 B。repadmin /replsummary用来确认 B 已经完成复制,如果最大延迟很大,先等复制收敛再取消 A 的全局编录。全局编录勾选在“Active Directory 站点和服务”里:Sites → Default-First-Site-Name → Servers → DCB → NTDS Settings → 属性 → 全局编录,取消 A 时把 DCB 换成 DCA 做同样操作。
5. 迁移避坑与 ntdsutil:transfer 和 seize 的边界、报错和全局编录误操作
图形界面能转移大部分角色,但命令行更适合确认目标 DC、批量转移和强制夺取。ntdsutil里transfer和seize只差一个词,含义完全不同:transfer是源域控还活着时的正常转移,seize是源域控彻底起不来时的强制占用。用错场景,后面清理起来很麻烦。
5.1 ntdsutil 命令行转移:连接 DCB 的完整命令
以转移 RID 主机为例,在 B 上打开命令提示符,进入ntdsutil,再进roles,用connection连接目标服务器,connect to server B.jiajie.com指定 B,quit返回上一级,最后transfer RID master。其他角色只需要换transfer后面的角色名。
:: 在 B 上以管理员身份打开命令提示符 ntdsutil roles connection connect to server B.jiajie.com quit transfer RID master quit quitntdsutil是活动目录的底层管理工具,roles进入 FSMO 维护模式,connection进入服务器连接模式。connect to server B.jiajie.com里的名字要用 B 的完整计算机名或 FQDN,连错服务器会把角色转回 A。transfer是正常转移,执行后看提示里有没有“转移成功”,不要只看命令有没有报错。
| 目的 | 命令 |
|---|---|
| 转移 PDC 仿真主机 | transfer PDC |
| 转移 RID 主机 | transfer RID master |
| 转移基础结构主机 | transfer infrastructure master |
| 转移域命名主机 | transfer domain naming master |
| 转移架构主机 | transfer schema master |
这些命令都在fsmo maintenance提示符下执行。记不住角色名时输入help,会列出当前可用的转移和占用命令。转移完成后用netdom query fsmo复查,五项都指向 B 才算完成,不要只凭一条transfer RID master的成功提示就收工。
5.2 什么时候用 seize:主域控彻底起不来时的强制夺取
如果 A 出现无法恢复的故障,B 又必须马上接管,才用seize。命令结构和transfer一样,只是把transfer换成seize。强制夺取之后,旧 DC 不能直接修好就开机接网,否则会出现角色冲突和复制冲突。
:: 仅在源域控彻底不可恢复时使用 ntdsutil roles connection connect to server B.jiajie.com quit seize RID master quit quitseize RID master表示强制占用 RID 主机角色,执行前确认 A 确实不会再回到网络里。常见做法是旧 DC 修好后先做dcpromo /forceremoval,再在 B 上通过ntdsutil的metadata cleanup清掉残留对象,确认 AD 里没有旧 DC 的元数据后,再决定要不要重新提升。seize不是普通迁移的捷径,能transfer就不要seize。
| 目的 | 命令 |
|---|---|
| 占用 PDC 仿真主机 | seize PDC |
| 占用 RID 主机 | seize RID master |
| 占用基础结构主机 | seize infrastructure master |
| 占用域命名主机 | seize domain naming master |
| 占用架构主机 | seize schema master |
5.3 避坑记录:五个现场问题
现象:B 上 dcpromo 提示“无法联系域控制器 Jiajie.com”。
原因:B 的 DNS 还指向公网 DNS,或者 A 的 SRV 记录没有注册。
解决:把 B 的 DNS 改回 1.1.1.1,在 A 上执行ipconfig /registerdns,重启 Netlogon 服务,再用nslookup -type=SRV _ldap._tcp.dc._msdcs.Jiajie.com确认记录存在。
现象:辅助域控提升后repadmin /showrepl一直报失败,事件日志有 1311 或 1864。
原因:主辅时间不同步,或者 DNS 解析不稳定。
解决:先ping和nslookup排除解析问题,再用net time \\1.1.1.1 /set /y校准 B 的时间,检查 389、445、135 端口,最后用repadmin /syncall /AdeP手动推一次复制。
现象:操作主机选项卡里“更改”按钮灰掉。
原因:当前 MMC 没有连到目标 DC,或者登录账户权限不够。
解决:先在域名上“连接到域控制器”选 B,再用 Domain Admins 或 Enterprise Admins 账户操作;架构主机要先注册schmmgmt.dll并添加“Active Directory 架构”管理单元,否则连入口都看不到。
现象:全局编录切完后用户登录变慢,地址簿查询失败。
原因:先取消 A 的全局编录,B 还没完成复制,目录里短时间没有全局编录服务器。
解决:改成先在 B 上勾选全局编录,等repadmin /replsummary显示正常后再取消 A;用nltest /dsgetdc:Jiajie.com /GC确认返回的是 B。
现象:用 seize 夺取角色后,旧主域控修好再开机,出现复制冲突。
原因:旧 DC 不知道角色已经被强制占用,仍按原角色运行。
解决:旧 DC 不要直接接生产网,先做dcpromo /forceremoval,再在 B 上用ntdsutil的metadata cleanup清掉残留对象,确认 AD 里没有旧 DC 的元数据后再考虑重新提升。
6. 装完怎么验证:用四条命令确认主辅域控和 FSMO 都到位
迁移完成后不要只看“安装成功”的提示,直接在 B 上跑四条命令:dcdiag /v看域控制器健康状态,repadmin /replsummary看复制失败数和最大延迟,netdom query fsmo看五项角色是不是都指向 B,nltest /dsgetdc:Jiajie.com /GC看全局编录是不是已经落在 B。
:: 域控制器健康检查 dcdiag /v :: 复制摘要,重点看失败数和 largest delta repadmin /replsummary :: 查 FSMO 当前归属 netdom query fsmo :: 查全局编录 nltest /dsgetdc:Jiajie.com /GC| 检查项 | 正常表现 | 不对时先看 |
|---|---|---|
| DNS SRV | nslookup 返回 1.1.1.1 | DNS 指向、Netlogon 服务 |
| 复制 | replsummary 没有失败 | 时间差、端口、DNS |
| FSMO | 五项都在 B | 操作主机、账户权限 |
| 全局编录 | nltest 返回 B | 站点和服务里的 GC 勾选 |
这套环境里的命令和角色对照表,我一起放进资源包了,照着敲一遍就能复现。从那以后我每次迁移前都强制做一遍 System State 备份,并把netdom query fsmo的输出留档,迁移完再跑同样的命令做前后对比;别凭记忆判断角色在哪台机器上。希望帮到你。
本文还有配套的精品资源,点击获取