我的域中的 DFSR 复制似乎已损坏,在开始修复之前,我想备份当前的组策略对象。但是,我无法备份默认域策略,因为组策略管理 -> 默认域策略 -> 备份 GPO 失败并显示错误“ An invalid directory pathname was passed
”,而 PowerShellBackup-GPO
失败并显示“ Exception from HRESULT: 0x80005000
”。
我确实发现了之前的问题“诊断组策略对象无法访问的原因“,这看起来确实非常相似(尽管可以通过组策略管理访问 GPO 并对其进行修改)。但是,使用 ADSI Edit 恢复 GPO 的默认权限并没有帮助。它也没有失败;但是,切换回组策略管理并重新选择默认域策略确实注意到文件系统权限与 Active Directory 不同步并提供修复它们,我允许这样做。即使在此之后,备份 GPO 仍会像上面一样失败。(我随后查看了 GPO 的 CN 下的所有子文件夹,并将它们重置为默认权限,但我没有注意到它们中的任何一个已经不存在。)
dsacls "CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=my,DC=domain"
没有(并且没有)列出任何拒绝规则(精确输出),所以我很困惑——是什么导致了访问问题?
更新2013-08-27:
根据 Douda 的建议,我查看了尝试在默认域策略上运行 Backup-GPO 的 powershell.exe 的 ProcMon 转储,并注意到与 Douda 提供的转储相比存在一些显著差异:
- 一开始,我获得对 GPO 目录下四个目录的操作
NAME NOT FOUND
结果:UserStaging、MachineStaging、UserOld 和 MachineOld。CreateFile
\\servername\sysvol\domainname\Policies\{31b2f340-016d-11d2-945f-00c04fb984f9}
- 在 Backup-GPO 读取
Registry.pol
和MACHINE
之后USER
,我NAME NOT FOUND
从 CreateFile 操作中获得结果...\Adm
- 最后,我还
ACCESS DENIED
从 ...的操作\MACHINE\microsoft\windows nt\SecEdit
中获得了结果QuerySecurityFile
。详细信息中有一个十六进制值 0x20 作为信息,但我不知道这有什么意义。
我检查了上述文件夹的权限SecEdit
(以及 ADSI Edit 下的 CN=System/CN=Policies/CN={guid}/CN=Machine/CN=Microsoft/CN=Windows),据我所知,它们似乎足够宽松。两个 DC 的结果基本相同。
答案1
说实话,您的问题非常不寻常。我经常使用 GPO,但从未见过此错误。我可能错了,但似乎您在故障排除时过于关注 ACL 方面。由于该问题仅与您的根 GPO 有关,我建议您进行一些手动挖掘:
- “手动”备份 GPO(复制 \servername\sysvol\domainname\Policies{31B2F340-016D-11D2-945F-00C04FB984F9} 的内容
- 比较不同 DC 之间的哈希值(可能看起来很愚蠢,但已经发生在我身上并且让我发疯:复制损坏)
您是否尝试从不同的 DC 备份以查看是否在整个域中重现该错误?
答案2
我更新到了 Windows Server 2012 R2,但同样的问题仍然存在。不过,我确实注意到,每当我尝试备份默认域策略 GPO 时,我都会收到事件 2004,即组策略管理事件(我之前已经收到过这些事件,但当时没有注意到)。这反过来又让我http://www.eventid.net/display-eventid-2004-source-Group%20Policy%20Management-eventno-6412-phase-1.htm并建议通过创建两个注册表项来提高组策略管理中的跟踪级别:
Key: HKLM\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics
Value: GPMgmtTraceLevel
Value Type: REG_DWORD
Value Data: 2
Key: HKLM\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics
Value: GPMgmtLogFileOnly
Value Type: REG_DWORD
Value Data: 1
这给了我一条警告线gpmgmt.log
(为了清楚起见,分成多行):
[5890.af8] 10/29/2013 19:47:17:955 \
[WARNING] CGPMDSObjectNode::process: \
ADsGetObject failed binding to \
LDAP://(FQDN-of-DC)/CN=(Domain)/(An-ancient-XP-wireless-network-policy),\
CN=Wireless,CN=Windows,CN=Microsoft,cn=Machine,\
cn={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,\
CN=System,DC=(my),DC=(domain) \
0x80005000
我删除了它,并在删除另外两个古老的网络策略后(在重复上述过程以找到有问题的策略后),默认域策略现在可以正常备份(其他所有策略也是如此)。