如果版本号匹配,为什么组策略诊断实用程序 GPOTool 会报告两个域控制器之间的 GPO 版本不匹配?
Policy {GUID}
Error: Version mismatch on dc1.domain.org, DS=65580, sysvol=65576
Friendly name: Default Domain Controllers Policy
Error: Version mismatch on dc2.domain.org, DS=65580, sysvol=65576
Details:
------------------------------------------------------------
DC: dc1.domain.org
Friendly name: Default Domain Controllers Policy
Created: 7/7/2005 6:39:33 PM
Changed: 6/18/2012 12:33:04 PM
DS version: 1(user) 44(machine)
Sysvol version: 1(user) 40(machine)
Flags: 0 (user side enabled; machine side enabled)
User extensions: not found
Machine extensions: [{GUID}]
Functionality version: 2
------------------------------------------------------------
DC: dc2.domain.org
Friendly name: Default Domain Controllers Policy
Created: 7/7/2005 6:39:33 PM
Changed: 6/18/2012 12:33:05 PM
DS version: 1(user) 44(machine)
Sysvol version: 1(user) 40(machine)
Flags: 0 (user side enabled; machine side enabled)
User extensions: not found
Machine extensions: [{GUID}]
Functionality version: 2
您的问题是由默认域控制器策略 DS 和 Sysvol 部分之间的版本不匹配引起的,而不是两个 DC 之间的差异。您的 DC 彼此同步,但它们正在同步的数据与自身不同步。您要做的是将 DS 和 Sysvol 版本设置为相同的值。为了安全起见,请使用
1(user) 45(machine)
. 您需要输入的值为65581
(1 * 65536 + 45 = 65581)。\\domainname\sysvol\policies\{Default_Domain_Controllers_Policy_GUID}\gpt.ini
在记事本中打开并设置Version=65581
。现在使用 ADSIEdit、ADExplorer、adfind 等,浏览CN={Default_Domain_Controllers_Policy_GUID},CN=Policies,CN=System,DC=domainname
并设置versionnumber
为65581
. 现在去吃午饭,回来时再次运行 GPOTool。所有版本号都应报告为65581
和/或1(user) 45(machine)
。注意:默认域控制器策略 GUID 始终为 6AC1786C-016F-11D2-945F-00C04FB984F9,但请确认这确实是 GUID,以防有人重命名它并创建另一个具有相同名称的 GPO。
有关如何计算和使用 GPO 版本号的更深入说明,请参阅以下页面:
这并不是说您的 DC 版本不匹配,而是说您的一个 GPO 是。
您需要追踪有问题的策略(“Policy {GUID}”)并在 DC 上的 sysvol 文件夹下,导航到它的文件夹 (\DC\sysvol\policies{GUID}) 并检查两个上的 GPT.INI 文件DC。它将有一个版本号,并且版本号在不同的 DC 上会不同——这是它抱怨的版本不匹配。
更正它取决于导致不匹配的确切原因 - 您可以通过编辑 GPT.ini 中的版本号来更正它,或者它可能是某些更大问题的结果,例如错误的 FRS 副本集,该特定 GPO 上的 ACL 设置等。没有足够的信息来确定根本原因到底是什么。
我会查看您的 AD 环境是否处于 Journal wrap 状态。我们遇到了同样的问题,不得不执行 D2 还原以使所有 GPO 恢复到一致状态。