我有一个 Windows Server 2003 域。其中一个组策略对象显示为 OU 中的链接项,但我只能看到唯一 ID 和链接状态是否已启用。旁边有一个红色减号图标,其名称为“无法访问”。消息显示“此组策略对象 (GPO) 无法访问,因为您没有其读取级别权限“”。
SYSVOL 中有一个包含唯一 ID 的文件夹,我可以毫无困难地浏览它。如果我查看组策略对象的完整列表,我找不到任何类似于此无法访问的 GPO 的内容。
如果我针对适用“无法访问”策略的用户运行“组策略结果向导”,那么我就能看到该 GPO 的真实名称,并能看到从该 GPO 应用于该用户的所有设置。
可能发生了什么事情导致管理员几乎失去对 GPO 的所有访问权限?是否可以恢复访问权限?
答案1
组策略容器 (GPC,Active Directory 对象) 上的权限已设置为拒绝您的读取级别权限。您找到的文件系统对象 (“组策略模板”,或 GPT) 上的权限可能与 Active Directory 对象上的权限“不同步”。 (有关背景信息,请查看http://msdn.microsoft.com/en-us/library/aa374180(VS.85).aspx)。
幸运的是,您可以使用 ADSIEDIT 之类的工具来恢复 GPC 上的权限。使用 ADSIEDIT,您会在 GPO 所在域的域 NC 中的“CN=System”对象的“CN=Policies”对象下找到与有问题的 GPO 的 GUID 相对应的“groupPolicyContainer”。(从 Windows Server 介质上的支持工具安装 ADSIEDIT,打开它,深入到“域”,然后是“CN=System”和“CN=Policies”,您将找到 GPC)。
使用有问题的 GPO 对应的 GPC 的“属性”表的“安全”选项卡,然后使用“高级”对话框中的“默认”按钮恢复默认权限。
如果 ADSIEDIT 不允许您修改权限(可能显示一个奇怪的错误消息,如“传递了无效的目录路径名”),那么很可能有人将“拒绝/完全控制”权限放在了对象上。dsacls
带有参数的命令CN=GUID-OF-THE-PROBLEMATIC-GPO,CN=Policies,CN=System,DC=your,DC=domain,DC=com
将报告权限。搜索错误的“拒绝”和“完全控制”条目,并使用参数/R user-or-group-namme
ondsacls
删除与该用户或组关联的权限。如果真的搞砸了,那么您可能必须使用 Windows Server 2008 ADAM/AD LDS 版本,并dscals
使用/takeownership
参数来获取对象的所有权)。
答案2
或者,使用作为企业/域管理员/其他管理组设置的全新用户帐户登录,该帐户仍然可以访问 GP,然后打开 GP 管理并重置出现“无法访问”错误的用户的权限。
答案3
除了 Evan 的出色回答之外,您还可以在组策略管理器中找到父策略的 GUID。选择策略,转到“详细信息”选项卡并查找唯一 ID。从那里,如果您在策略中指定了权限,则可以深入到您要查找的确切策略组件。
答案4
Sputnik 是对的。我的 GPO 停止工作了。我的 GPO 的安全过滤针对我创建的安全组。当通过 GPO 管理控制台针对模拟运行它时,它会失败并显示“无法访问”。简单的解决方法是将域计算机添加为 GPO 的委托人并授予其读取访问权限。