Active Directory 继承未按预期工作

Active Directory 继承未按预期工作

问题

因此,我设置了一个具有两个 DC 的新域。我尝试从Authenticated Users其中一个 OU 中删除该组,这很有效,但是子对象不会更新(它们仍然应用了Authenticated Users安全组),而继承已启用

OU 拓扑:

OU 拓扑

顶级 OUTestOU 注意到该Authenticated Users组已被删除

测试 OU 属性

Child1 安全属性注意到Authenticated Users小组

Child1 安全属性

Child1 高级安全注意Disable inheritance按钮Child1 高级安全

我试图清除Authenticated Users对象上的所有权限,然后将其应用于所有后代,但这不起作用......

也没有一个函数(虽然我不知道)来替换所有子对象权限(就像在文件系统级别上一样)。

那么,我怎样才能让继承按我认为的那样发挥作用呢?

答案1

child1 中的已验证用户由于继承而不存在,他们被直接添加到对象中。可能是您选择在删除继承后复制权限,或者他们之前就在那里。

您可以看到它,因为复选框不是灰色的(对于经过身份验证的用户而言)。

答案2

考虑到这个问题的发布时间,现在有点晚了,但我遇到了同样的问题/疑问,并认为发布此问题可能有用。我阻止了 OU 上的继承,删除了经过身份验证的用户,当我创建新对象(例如组)时,经过身份验证的用户被添加到该组的 DACL 中。请参阅此文档

这是由于对对象应用了默认权限,可以通过执行以下操作进行检查(这有点快速和肮脏,但对我来说完成了工作):

  1. 打开 adsiedit.msc
  2. 导航至对象(例如CN=Organizational-unit
  3. 复制 defaultSecuritydescriptor 值(这是一个 SDDL 字符串)
  4. 将 SDDL 字符串转换为人类可读的 ACE(在 PowerShell 中):

    $oldSddl = "insert value you copied in Step 3” 
    $ACLObject = New-Object -TypeName System.Security.AccessControl.DirectorySecurity 
    $ACLObject.SetSecurityDescriptorSddlForm($oldSddl) 
    $ACLObject.Access
    

代码来自此来源

理论上可以替换此 SDDL 字符串(使用本文中描述的方法,文章),然后将其粘贴到步骤 3 中的值上。通常需要注意的是在测试环境中进行测试、进行适当的备份等。

相关内容