Skip to main content

主域未能与辅助域 DFSR同步,辅助域缺少netlogon & sysvol共享

非常关键的现象 ✅ ——
Get-WmiObjectGet-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 复制关系:

  1. 停止 DFSR 服务

    net stop dfsr
    
  2. 删除旧数据库(若存在)

    rmdir "C:\System Volume Information\DFSR" /s /q
    
  3. 在注册表中设置为非权威恢复模式:
    打开注册表编辑器 →

    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
    
  4. 启动 DFSR:

    net start dfsr
    
  5. 等待几分钟,再运行:

    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 复制成员(推荐)

  1. 在 S-DNS8 上停止 DFSR 服务:

    net stop dfsr
    
  2. 清理 DFSR 数据:

    rmdir "C:\System Volume Information\DFSR" /s /q
    
  3. 打开注册表,定位:

    HKLM\SYSTEM\CurrentControlSet\Services\DFSR\Parameters
    

    删除或重命名以下子项(如果存在):

    Replication Groups
    
  4. 重新触发 Active Directory 拓扑注册:

    dfsrdiag pollad
    
  5. 启动 DFSR 服务:

    net start dfsr
    
  6. 几分钟后重新执行:

    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 结构是否正常存在。