Skip to main content

主域 S-DNS1 与辅助域 S-DNS6 / S-DNS8 复制组信息缺失,一次性清理旧拓扑、重建 DFSR 复制关系,保证 SYSVOL 长期稳定同步

明白,我给你整理一套 Windows Server DFSR SYSVOL 拓扑重建操作方案,针对你的主域 S-DNS1 与辅助域 S-DNS6 / S-DNS8 环境。这套方案可一次性清理旧拓扑、重建 DFSR 复制关系,保证 SYSVOL 长期稳定同步。

⚠️ 注意:操作涉及 SYSVOL 和域控制器核心服务,请在维护窗口执行,并先备份 AD 和 SYSVOL。


前提条件

  1. 所有 DC 可正常访问 AD,并能相互 ping 通。

  2. 在执行前,主域 S-DNS1 的 SYSVOL 和 NETLOGON 共享正常。

  3. 在操作前在所有 DC 上备份 C:\Windows\SYSVOL_DFSR\C:\Windows\SYSVOL\domain\Policies


操作步骤

1️⃣ 停止 DFSR 服务

在三台 DC 上执行:

# 停止 DFSR 服务
Stop-Service DFSR -Force

2️⃣ 清理辅助域 DFSR 缓存

在 S-DNS6 / S-DNS8 上执行:

# 停止 DFSR 服务后
# 删除本地 DFSR 缓存
Remove-Item -Recurse -Force C:\Windows\SYSVOL_DFSR\*
Remove-Item -Recurse -Force "C:\Windows\SYSVOL\domain\Policies\*"
# 可选:保留主域备份文件后再删除

目的:清理错误拓扑和残留文件,保证重新初始化 SYSVOL。


3️⃣ 清理 AD 中拓扑信息

  1. 打开 ADSIEdit,连接到 Default Naming Context

  2. 导航到:

CN=System,DC=shuncom,DC=local
 └─ CN=DFSR-GlobalSettings
     └─ CN=Domain System Volume
         └─ CN=Topology
  1. 删除 S-DNS6 / S-DNS8 下的空对象(不要删除主域 S-DNS1)。

注意:删除前确认对象为空或残留,避免破坏主域 DFSR 配置。


4️⃣ 在辅助域初始化 SYSVOL 复制订阅

在 S-DNS6 / S-DNS8 上执行:

# 初始化 DFSR SYSVOL
dfsrdiag PollAD

# 创建订阅到主域 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

如果没有 New-DfsrMembership,可以通过 DFSR管理控制台 手动添加成员。


5️⃣ 启动 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

确保输出包含:

SYSVOL       C:\Windows\SYSVOL_DFSR\sysvol
NETLOGON     C:\Windows\SYSVOL_DFSR\sysvol\scripts

8️⃣ 验证组策略更新

在客户端或主域上执行:

gpupdate /force
  • 确认修改的 GPT.INI 文件在三台 DC 上同步时间一致。


9️⃣ 长期监控建议

  1. 监控事件日志:

    • DFS Replication → 4602, 4604, 4606

    • 正常出现 4602 / 4604 表示拓扑建立和初始同步完成

  2. 定期执行:

dfsrdiag backlog /RGName:"Domain System Volume" /RFName:"SYSVOL Share"
  1. 确保主域 S-DNS1 保持正常在线。


效果

  • 主域 S-DNS1 与辅助域 S-DNS6 / S-DNS8 形成完整 DFSR 拓扑

  • SYSVOL 文件与组策略完全同步

  • 主域可以监控、管理复制组,长期稳定


我可以帮你直接写一个 一键 PowerShell 脚本,在三台 DC 上执行就能自动清理旧拓扑、重建 DFSR SYSVOL 订阅,并输出同步状态,减少人工操作错误。

你希望我帮你写这个一键脚本吗?

明白了,你希望把上面 PowerShell/脚本化的流程改成命令行/手工可执行的步骤,便于在各个域控上逐步执行,而不是一次性运行脚本。下面我帮你整理成S-DNS1 → S-DNS6/S-DNS8 DFSR SYSVOL 重建的命令步骤


步骤 0:前提

  • 使用 域管理员登录每台 DC。

  • 备份现有 SYSVOL(非常重要)。

  • 确保 PowerShell 远程/命令执行权限可用。


步骤 1:停止 DFSR 服务

在每台 DC(S-DNS1、S-DNS6、S-DNS8)上执行:

net stop dfsr

检查服务状态:

sc query dfsr

步骤 2:备份并清理现有 SYSVOL

在每台 DC 上执行:

:: 备份 SYSVOL
ren C:\Windows\SYSVOL\sysvol sysvol-Backup-YYYYMMDD

:: 清理 DFSR 数据库
rd /s /q "C:\System Volume Information\DFSR"

注意:System Volume Information 需要管理员权限或在安全模式下操作。


步骤 3:重启 DFSR 服务

在每台 DC 上执行:

net start dfsr

步骤 4:初始化主域 SYSVOL 拓扑(S-DNS1)

在 S-DNS1 上执行:

dfsrdiag PollAD /Member:S-DNS1

该命令会让 S-DNS1 从 AD 拉取拓扑信息并初始化 DFSR SYSVOL。


步骤 5:检查 DFSR SYSVOL 复制组

在 S-DNS1 上执行:

dfsrdiag ReplicationState /Member:S-DNS1 /RGName:"Domain System Volume" /RFName:"SYSVOL Share"

步骤 6:强制辅助 DC 同步(S-DNS6 / S-DNS8)

在 S-DNS1 上逐个执行:

# 从 S-DNS1 强制同步到 S-DNS6
dfsrdiag SyncNow /Partner:S-DNS6 /RGName:"Domain System Volume" /Time:5 /Member:S-DNS1

# 从 S-DNS1 强制同步到 S-DNS8
dfsrdiag SyncNow /Partner:S-DNS8 /RGName:"Domain System Volume" /Time:5 /Member:S-DNS1

/Time:5 表示等待 5 分钟,可根据实际文件量调整。


步骤 7:检查同步状态

在每台 DC 上执行:

dfsrdiag Backlog /RGName:"Domain System Volume" /RFName:"SYSVOL Share" /SendingMember:S-DNS1 /ReceivingMember:S-DNS6
dfsrdiag Backlog /RGName:"Domain System Volume" /RFName:"SYSVOL Share" /SendingMember:S-DNS1 /ReceivingMember:S-DNS8

dfsrdiag ReplicationState /Member:S-DNS1 /RGName:"Domain System Volume" /RFName:"SYSVOL Share"
dfsrdiag ReplicationState /Member:S-DNS6 /RGName:"Domain System Volume" /RFName:"SYSVOL Share"
dfsrdiag ReplicationState /Member:S-DNS8 /RGName:"Domain System Volume" /RFName:"SYSVOL Share"

步骤 8:最终验证

  • 确认 C:\Windows\SYSVOL\sysvol\domain 下 GPO 文件夹已恢复。

  • 在客户端执行:

gpupdate /force
  • 检查客户端组策略是否生效。


✅ 这样一套手动命令执行方案就完成了 DFSR SYSVOL 拓扑重建。


如果你愿意,我可以帮你再整理成一个操作表格化步骤,标明每条命令在哪台 DC 执行、执行顺序、以及可能遇到的错误处理方法,这样操作更安全、可复现。

你希望我整理成表格吗?