主域 S-DNS1 与辅助域 S-DNS6 / S-DNS8 复制组信息缺失,一次性清理旧拓扑、重建 DFSR 复制关系,保证 SYSVOL 长期稳定同步
非常明白,我给你整理一套 Windows Server DFSR SYSVOL 拓扑重建操作方案,针对你的主域 S-DNS1 与辅助域 S-DNS6 / S-DNS8 环境。这套方案可一次性清理旧拓扑、重建 DFSR 复制关键的现象系,保证 ✅SYSVOL ——长期稳定同步。Get-WmiObject
⚠️ 注意:操作涉及 SYSVOL 和域控制器核心服务,请在维护窗口执行,并先备份 AD 和 Get-CimInstance 都返回空结果,说明在 S-DNS8 这台服务器上,DFSR 服务当前没有检测到任何“已注册的复制文件夹”。这就是为什么你看到:SYSVOL。
-
DCdfsrdiag所有replicationstate输出为可正常访问0AD,并能相互 ping 通。 -
事件查看器中没有在执行前,主域DFSS-DNS1Replication的日志SYSVOL 和 NETLOGON 共享正常。 -
SYSVOL在操作前在所有不同步DC 上备份C:\Windows\SYSVOL_DFSR\及C:\Windows\SYSVOL\domain\Policies。
前提条件
操作步骤
🔍1️⃣ 问题根源
可能的几种情况如下:
🧭 建议排查步骤
① 检查 DFSR 服务状态
Get-Service DFSR
确保状态为 Running。若不是:
Start-Service DFSR
② 检查这台服务器是否在 AD 的 DFSR 配置中
在任意三台 正常的 DC(如 S-DNS1)DC 上执行:
dfsrdiag# dumpmachinecfg停止 /member:S-DNS8DFSR 服务
Stop-Service DFSR -Force
👉
2️⃣ Error:清理辅助域 CouldDFSR not find member ...
缓存
Error:清理辅助域 CouldDFSR not find member ...
则表示在 ADS-DNS6 中根本没有/ S-DNS8 的 DFSR 成员配置。
③ 确认 SYSVOL 是否正在使用 DFSR(而不是 FRS)
上执行:
dfsrmig# getglobalstate
输出应为:
Eliminated (state 3)
如果是 Prepared (1) 或 Redirected (2),说明停止 DFSR 迁移未完成。
#
④ 检查删除本地 DFSR 数据库目录
缓存
查看以下路径是否存在:
-Recurse -Force C:\SystemWindows\SYSVOL_DFSR\*
VolumeRemove-Item Information\DFSR\-Recurse -Force "C:\Windows\SYSVOL\domain\Policies\*"
# 可选:保留主域备份文件后再删除
如果目录不存在或为空的:清理错误拓扑和残留文件,说明保证重新初始化DFSRSYSVOL。尚未建立 SYSVOL 副本。
⑤3️⃣ 确认清理 AD 中拓扑中存在信息
DFSR
配置
在“打开 ADSIADSIEdit,连接到 编辑器Default Naming Context”中检查
导航到:
CN=DFSR-GlobalSettings,CN=System,DC=shuncom,DC=local
└─ CN=DFSR-GlobalSettings
└─ CN=Domain System Volume
└─ CN=Topology
└─ CN=S-DNS8
如果 没有 S-DNS8 节点,说明该服务器未加入 DFSR 复制组。
🧩 如果确认 S-DNS8 未加入 DFSR
可以手动重新初始化该 DC 的 SYSVOL 复制关系:
-
停止 DFSR 服务net stop dfsr 删除
旧数据库(若存在)
下的空对象(不要删除主域rmdir "C:\System Volume Information\DFSR"S-DNS6 /s/qS-DNS8在注册表中设置为非权威恢复模式:打开注册表编辑器 →S-DNS1)。HKLM\SYSTEM\CurrentControlSet\Services\DFSR\Parameters新建项:Path: HKLM\SYSTEM\CurrentControlSet\Services\DFSR\Parameters\SysVols\Migrating Sysvols Type: DWORD Name: BurFlags Value: D4(或执行:)Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\DFSR\Parameters" -Name "BurFlags" -Value 0xD4 -Type DWord启动 DFSR:net start dfsr等待几分钟,再运行:dfsrdiag pollad dfsrdiag replicationstate
你可以先执行上面的第②步dfsrdiag dumpmachinecfg /member:S-DNS8
贴出输出,我帮你注意:删除前确认S-DNS8 是否在对象为空或残留,避免破坏主域 DFSR 配置中注册。
非常好 👍,从结果来看:
DFSR 服务正在运行(Running)✅
dfsrdiag dumpmachinecfg能成功输出计算机级别参数✅
但注意到:
输出中没有任何 “ReplicationGroupName” 或 “ReplicatedFolderName” 信息
这表明——S-DNS8 仅加载了 DFSR 全局配置(机器级参数),但未加载任何复制组(即 SYSVOL 没被注册为 DFSR 成员)。
换句话说:
S-DNS8 当前根本没有参与Domain System Volume复制组。
🔍4️⃣验证在辅助域初始化DFSRSYSVOL 复制组是否存在 SYSVOL 定义订阅
请在 S-DNS1(正常DNS6DC)/ S-DNS8 上执行:# 初始化 DFSR SYSVOL dfsrdiagdumpmachinecfgPollAD/member:# 创建订阅到主域 S-DNS1 的 SYSVOL # 此操作会自动从主域拉取完整 SYSVOL # 示例 PowerShell New-DfsrMembership -GroupName "Domain System Volume" ` -FolderName "SYSVOL Share" ` -ContentPath "C:\Windows\SYSVOL_DFSR\sysvol" ` -SourceComputerName "S-DNS1.shuncom.local" ` -DestinationComputerName $env:COMPUTERNAME
看看它的输出中是否包含:ReplicationGroupName : Domain System Volume ReplicatedFolderName : SYSVOL Share如果
可以通过S-DNS1 有,而 S-DNS8没有New-DfsrMembership,就能确认:DFSR管理控制台
AD 中的 DFSR 配置未包含 S-DNS8手动添加成员。
🔧5️⃣修复思路(为 S-DNS8 重新加入 SYSVOL 复制组)
方案一:重新注册 DFSR 复制成员(推荐)
在 S-DNS8 上停止 DFSR 服务:net stop dfsr
清理 DFSR 数据:rmdir "C:\System Volume Information\DFSR" /s /q
打开注册表,定位:HKLM\SYSTEM\CurrentControlSet\Services\DFSR\Parameters
删除或重命名以下子项(如果存在):Replication Groups
重新触发 Active Directory 拓扑注册:dfsrdiag pollad启动 DFSR 服务
:net start dfsr
几分钟后重新在 S-DNS1 / S-DNS6 / S-DNS8 上执行:Start-Service DFSR
6️⃣ 验证拓扑和同步状态
# 查看本地 DFSR 配置信息 dfsrdiag dumpmachinecfg /member:$env:COMPUTERNAME # 查看 SYSVOL 复制状态 dfsrdiag replicationstate # 查看已复制文件夹信息 Get-CimInstance -Namespace "root\MicrosoftDFS" -ClassName DfsrReplicatedFolderInfo | Select ReplicatedFolderName,ReplicationGroupName,State
若返回State = 4 表示正常。
7️⃣ 检查 SYSVOL 和 NETLOGON 共享
net share确保输出包含:
ReplicationGroupName : Domain System Volume ReplicatedFolderName :SYSVOLShareC:\Windows\SYSVOL_DFSR\sysvol NETLOGON C:\Windows\SYSVOL_DFSR\sysvol\scripts
说明恢复成功 ✅
验证组策略更新
方案二:检查8️⃣
AD 拓扑中确实缺少成员
如果方案一无效,可以用ADSI 编辑器进行直观确认:
打开adsiedit.msc→ 连接到:CN=DFSR-GlobalSettings,CN=System,DC=shuncom,DC=local
展开:CN=Domain System Volume → CN=Topology
查看是否存在CN=S-DNS8成员对象。
如果没有 CN=S-DNS8:
说明该服务器未被加入 DFSR SYSVOL 拓扑中。
可手动创建(客户端或更快的方法:强制 S-DNS8 重新作为 DC 重新加入主域),但一般建议通过 AD 元数据修复方式重新生成 DFSR 成员关系。
你现在可以先在S-DNS1上执行:dfsrdiag dumpmachinecfggpupdate /member:S-DNS1force
并贴出结果,我帮你确认修改的GPT.INI文件在三台 DC 上同步时间一致。
9️⃣ 长期监控建议
监控事件日志:
DFS Replication → 4602, 4604, 4606
正常出现 4602 / 4604 表示拓扑建立和初始同步完成
定期执行:
dfsrdiag backlog /RGName:"Domain SystemVolumeVolume" /RFName:"SYSVOL Share"结构是否
确保主域 S-DNS1 保持正常
存在线。
✅ 效果
主域 S-DNS1 与辅助域 S-DNS6 / S-DNS8 形成完整 DFSR 拓扑
SYSVOL 文件与组策略完全同步
主域可以监控、管理复制组,长期稳定
我可以帮你直接写一个 一键 PowerShell 脚本,在三台 DC 上执行就能自动清理旧拓扑、重建 DFSR SYSVOL 订阅,并输出同步状态,减少人工操作错误。
你希望我帮你写这个一键脚本吗?