主域未能与辅助域 DFSR同步,辅助域缺少netlogon & sysvol共享
非常关键的现象 ✅ ——Get-WmiObject 和 Get-CimInstance 都返回空结果,说明在 S-DNS8 这台服务器上,DFSR 服务当前没有检测到任何“已注册的复制文件夹”。这就是为什么你看到:
-
dfsrdiag replicationstate输出为 0 -
事件查看器中没有 DFS Replication 日志
-
SYSVOL 不同步
🔍 问题根源
可能的几种情况如下:
| 原因 | 说明 |
|---|---|
| 🧩 DFSR 配置在 AD 中丢失 | 这台服务器在 AD 的“DFSR 配置”中没有注册为 SYSVOL 复制成员。 |
| ⚙️ DFSR 服务从未初始化 SYSVOL | 该 DC 没有完成 DFSR 的 SYSVOL 初始化过程。 |
| 💾 注册表或 DFSR 数据库损坏 | 导致 DFSR 无法加载本地配置。 |
| 🕸️ 权限或 AD 通信问题 | 导致 DFSR 无法从 AD 读取复制拓扑信息。 |
🧭 建议排查步骤
① 检查 DFSR 服务状态
Get-Service DFSR
确保状态为 Running。若不是:
Start-Service DFSR
② 检查这台服务器是否在 AD 的 DFSR 配置中
在任意 正常的 DC(如 S-DNS1) 上执行:
dfsrdiag dumpmachinecfg /member:S-DNS8
👉 如果返回:
Error: Could not find member ...
则表示 AD 中根本没有 S-DNS8 的 DFSR 成员配置。
③ 确认 SYSVOL 是否正在使用 DFSR(而不是 FRS)
执行:
dfsrmig getglobalstate
输出应为:
Eliminated (state 3)
如果是 Prepared (1) 或 Redirected (2),说明 DFSR 迁移未完成。
④ 检查本地 DFSR 数据库目录
查看以下路径是否存在:
C:\System Volume Information\DFSR\
如果目录不存在或为空,说明 DFSR 尚未建立 SYSVOL 副本。
⑤ 确认 AD 拓扑中存在 DFSR 配置
在“ADSI 编辑器”中检查:
CN=DFSR-GlobalSettings,CN=System,DC=shuncom,DC=local
└─ 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 /q -
在注册表中设置为非权威恢复模式:
打开注册表编辑器 →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复制组。
🔍 验证 DFSR 复制组是否存在 SYSVOL 定义
请在 S-DNS1(正常 DC) 上执行:
dfsrdiag dumpmachinecfg /member:S-DNS1
看看它的输出中是否包含:
ReplicationGroupName : Domain System Volume
ReplicatedFolderName : SYSVOL Share
如果 S-DNS1 有,而 S-DNS8 没有,就能确认:
AD 中的 DFSR 配置未包含 S-DNS8 成员。
🔧 修复思路(为 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 -
几分钟后重新执行:
Get-CimInstance -Namespace "root\MicrosoftDFS" -ClassName DfsrReplicatedFolderInfo | Select ReplicatedFolderName,ReplicationGroupName,State
若返回:
ReplicationGroupName : Domain System Volume
ReplicatedFolderName : SYSVOL Share
说明恢复成功 ✅
方案二:检查 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 dumpmachinecfg /member:S-DNS1
并贴出结果,我帮你确认 Domain System Volume 结构是否正常存在。