Windows AD域控从2008升级到2019详细教程
摘要:本文为AD域控Windows Server 2008升级到2019最全实操教程,详细讲解升级方式选择、升级前环境健康检查、SYSVOL从FRS迁移DFSR关键步骤、adprep架构扩展、新增2019域控、FSMO五大角色迁移、旧DC降级退役及功能级别提升,附带可直接复制执行的命令,适配域控停止支持、硬件老化更换、域重构等场景,零基础运维可直接套用。
目录(页面锚点可跳转)
一、前言:AD域控为什么要从2008升级到2019?
Windows Server 2008/2008 R2已停止安全更新多年,AD域控仍运行在2008上意味着补丁缺失、加密套件老旧(仅支持SHA-1、无法启用AES强加密策略),且无法支撑Win10/11、Server 2016以上客户端的安全认证要求。域控作为全网身份认证核心,一旦被入侵即全域沦陷,升级刻不容缓。
很多运维第一反应是重装域、重建账户,实际上完全没有必要。AD域支持多版本域控并存,行业标准做法是并行迁移法:
新增一台2019域控,与旧2008域控并行提供服务;
验证复制、DNS、组策略全部正常后,把FSMO五大角色迁移到2019;
最后把2008旧域控降级退役,域内账户、组、GPO、信任关系全部无损保留。
二、升级前期准备与环境健康检查
1、三个硬性前提(缺一不可)
域功能级别必须≥Windows Server 2008:如果域还停留在2003功能级别,必须先提升到2008才能加入2019域控。
SYSVOL必须已从FRS迁移到DFSR:Windows Server 2019域控不包含FRS服务,SYSVOL还在用FRS复制的域,2019域控加入后组策略将无法同步,这是本次升级第一大坑。
adprep只能在64位系统运行:老环境存在32位的2008域控,直接在上面跑2019安装介质里的adprep会报「不是有效的Win32应用程序」,必须把ISO中
\support\adprep复制到64位系统执行。
确认当前域功能级别:
Import-Module ActiveDirectory Get-ADDomain | Select-Object DomainMode Get-ADForest | Select-Object ForestMode
2、升级前环境健康检查(必做)
任何升级动作之前,先确认现有域的复制和DNS是健康的。在旧2008域控上以管理员运行:
:: 完整诊断(/e覆盖企业所有域控),输出到日志 dcdiag /v /c /e /f:dcdiag.log :: 复制汇总——重点看有没有Failed repadmin /replsummary repadmin /showrepl :: 确认FSMO五个角色位置(后续迁移要用) netdom query fsmo :: 确认域控发现解析正常 nltest /dsgetdc:contoso.com
检查标准:
repadmin /replsummary所有方向0 error,有报错必须先修复复制再升级;dcdiag.log无致命错误项(少量Advertising Warning可忽略);历史发生过USN回滚、存在幽灵对象的域,先清理干净再升级,禁止带病作业;
确认2019服务器的IP地址规划、站点归属、DNS指向,提前画好网络拓扑。
三、SYSVOL从FRS迁移到DFSR(关键步骤)
这是2008升级2019中最容易翻车的一步。Windows自带dfsrmig工具,迁移按四个状态推进:
| 状态 | 含义 |
|---|---|
| 0 Not Started | 未开始,SYSVOL由FRS复制 |
| 1 Prepared | DFSR建立初始副本,FRS与DFSR并行 |
| 2 Redirected | SYSVOL切换到DFSR(此刻已可安全加入2019域控) |
| 3 Eliminated | FRS数据彻底删除,迁移完成且不可回退 |
在架构主机上依次执行,每个状态之间必须等所有域控收敛一致后再推进:
:: 步骤1:全局状态设为1,开始准备 dfsrmig /setglobalstate 1 :: 步骤2:轮询所有域控是否到达一致(全部显示start才能继续) dfsrmig /getmigrationstate :: 步骤3:全局状态设为2,SYSVOL切换到DFSR dfsrmig /setglobalstate 2 dfsrmig /getmigrationstate :: 步骤4:全局状态设为3,彻底清除FRS dfsrmig /setglobalstate 3 dfsrmig /getmigrationstate
迁移完成验证:
:: SYSVOL和NETLOGON共享正常 net share
再打开事件查看器 → 应用程序和服务日志 → DFS Replication,确认无红色错误,且出现事件4604/4602表示SYSVOL已由DFSR接管。
gpupdate不受影响。如果某台域控长时间不到达一致状态,优先检查它与其它域控的RPC连通性(TCP 135+动态端口、DFSR端口5722),所有DC同步一致是推进下一个状态的硬性条件。四、AD域控2008升级2019完整实操步骤
1、备份所有域控系统状态(必做)
2008需要先安装「Windows Server Backup」功能才能备份系统状态:
:: 安装备份功能 servermanagercmd -install Backup-Features :: 备份系统状态(备份目标不能是被保护的系统盘) wbadmin start systemstatebackup -backupTarget:E: -quiet
FSMO角色所在域控和DNS服务器务必逐一备份,这是整个迁移过程唯一的回滚保险。
2、扩展AD架构(adprep)
在64位系统上(建议直接在新2019服务器挂载ISO操作),以Schema Admins + Enterprise Admins身份运行:
:: 步骤1:扩展林架构——在架构主机上运行 D:\support\adprep\adprep /forestprep :: 步骤2:扩展域——每个域的基础结构主机上各运行一次 D:\support\adprep\adprep /domainprep :: 步骤3:更新组策略权限(建议执行) D:\support\adprep\adprep /domainprep /gpprep :: 步骤4:只读域控准备(不部署RODC也建议跑) D:\support\adprep\adprep /rodcprep
验证架构版本已升级到2019标准(objectVersion=17767,2016为87):
dsquery * "CN=Schema,CN=Configuration,DC=contoso,DC=com" -attr objectVersion
3、部署2019新域控并提升
系统准备要点:安装Windows Server 2019 Standard/Datacenter,配置静态IP,DNS首选指向现有域控DNS,加入现有域,确认时间同步正常(Kerberos时间偏差超5分钟会认证失败)。
# 步骤1:安装AD DS角色与管理工具 Install-WindowsFeature AD-Domain-Services -IncludeManagementTools # 步骤2:提升为现有域的附加域控制器(附加DNS+全局编录) Install-ADDSDomainController -DomainName "contoso.com" ` -InstallDns:$true ` -CreateDnsDelegation:$false ` -SiteName "Default-First-Site-Name" ` -DatabasePath "C:\Windows\NTDS" ` -LogPath "C:\Windows\NTDS" ` -SysvolPath "C:\Windows\SYSVOL" ` -SafeModeAdministratorPassword (Read-Host -Prompt "DSRM密码" -AsSecureString) ` -Force
也可以用「服务器管理器 → AD DS → 提升为域控制器」图形向导,选项一致:勾选DNS服务器和全局编录(GC),DSRM目录服务还原密码务必妥善保管。
4、升级后立即验证复制与DNS
:: 新旧域控双向复制应为0 error repadmin /replsummary :: DNS诊断 dcdiag /test:dns /v :: SYSVOL和NETLOGON共享已在 net share :: 强制生成站点复制拓扑 repadmin /kcc * repadmin /replsummary
在2019域控上打开「Active Directory用户和计算机」「组策略管理」,确认域对象完整、GPO能正常编辑保存。建议并行运行观察1~3天再做角色迁移。
5、迁移FSMO五大角色到2019
# 在2019域控上以Domain Admin执行,一条命令迁移全部五个角色 Move-ADDirectoryServerOperationMasterRole ` -Identity "DC2019" ` -OperationMasterRole SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster, InfrastructureMaster
迁移后复核,五个角色应全部指向DC2019:
netdom query fsmo
6、调整DNS、DHCP与时间源
这是很多迁移后「随机出问题」的根源,务必逐项收尾:
所有成员服务器和域控网卡DNS:首选改为2019域控,辅助指向其余正常域控,删除指向即将退役2008的DNS;
DHCP作用域:更新选项006(DNS服务器)中的旧地址;
PDC时间源(FSMO迁移后PDC在2019上)配置外部权威NTP:
:: PDC(2019)配置外部时间源 w32tm /config /manualpeerlist:"ntp.aliyun.com,0x8 time.windows.com,0x8" /syncfromflags:manual /reliable:yes /update w32tm /resync w32tm /query /status :: 其他域控默认跟随域层级,确认无手工配置 w32tm /query /source
7、降级退役2008旧域控
降级前最终核对三项:
FSMO已全部迁走(
netdom query fsmo确认);2019域控已是全局编录(AD站点和服务 → NTDS Settings → 属性勾选GC),否则降级后出现全局编录真空;
没有客户端、打印机、NAS、监控等设备仍写死2008的IP做DNS或LDAP。
在2008域控上运行dcpromo按向导降级(确认「这是域中最后一个域控制器」不勾选)。降级成功后:
DNS中的A/NS/SRV记录自动清理,如有残留手工删除;
AD站点和服务中旧域控的NTDS Settings自动消失,残留则做元数据清理;
旧服务器退出域、改名或直接关机下线。
8、提升域/林功能级别
确认所有域控都已是2016及以上版本、无残留2008/2012域控后,把功能级别提到当前最高档(2019没有新的功能级别,上限是2016):
Set-ADDomainMode -Identity contoso.com -DomainMode Windows2016Domain Set-ADForestMode -Identity contoso.com -ForestMode Windows2016Forest
提升后即可启用2016级别特性:受保护用户组(Protected Users)、PAM特权访问管理、Kerberos加密类型精细控制等。
五、升级常见报错与避坑指南
| 现象 | 原因 / 处理方法 |
|---|---|
| 2019域控加入后SYSVOL/组策略不同步 | SYSVOL还在FRS。必须在加入2019之前完成dfsmig迁移,状态3之后不可回退 |
| adprep报「不是有效的Win32应用程序」 | 在32位2008上直接运行。复制ISO中\support\adprep文件夹到64位主机执行 |
| XP/Server 2003老客户端登录异常 | 2019默认禁用SMB1,老系统无法访问SYSVOL。应推动客户端升级,临时放行SMB1不建议 |
| 旧域控降级后部分应用报DNS失败 | 有设备写死了旧域控IP。排查DNS选项、打印机、NAS、监控系统的LDAP/DNS配置 |
| 提升时找不到可写域控/认证失败 | Kerberos时间偏差超5分钟,先统一时间源再操作 |
| 迁移后repadmin大量error | 立刻停止后续动作,用repadmin /showrepl定位失败分区与原因,恢复复制后再继续 |
六、生产环境升级核心禁忌与注意事项
严禁无备份操作:生产域控升级必须提前备份所有域控系统状态,adprep架构扩展不可逆,无备份等于裸奔。
严禁带病升级:复制报错、USN回滚、幽灵对象未清理的域,先修复健康再扩架构,否则问题会被复制放大。
状态推进必等收敛:dfsrmig每个状态必须等
getmigrationstate全量一致再推进,状态3删除FRS后无法回退。并行观察期不可省:新域控上线后至少并行运行1~3天,确认认证、组策略、DNS全量正常,再迁FSMO、降旧DC。
降级收尾要彻底:旧DC的DNS引用、DHCP选项、写死IP的设备逐一排查清理,残留引用是迁移后隐性故障的头号来源。
功能级别提升不可逆:DFL/FFL只能升不能降,确认域内无低版本域控后再操作。
综上所述,AD域控2008升级2019是一条成熟稳定的标准化路线:查健康 → 迁DFSR → 做备份 → 扩架构 → 加新DC → 迁FSMO → 改DNS/时间 → 降旧DC → 提功能级别。整个过程域内用户无感知,任何一步出问题都可退回旧域控顶上,既消除2008停止支持的安全风险,又为后续SHA-256、AES加密、受保护用户等安全策略落地打好基础,一次升级长期受益。
扫描二维码推送至手机访问
版权声明:本文由 PowerShell 中文社区发布,如需转载请注明出处。
联系咨询:邮箱 dengpeng@powershell.com.cn | 电话/微信 176-6506-6665





