我的公司使用 PowerShell 来管理数千个组的成员。有 SQL 语句和其他“规则”来规定谁应该成为特定组的成员。此解决方案实际上并不适合创建组,然后将组嵌套在更大的组中……它只是将用户添加到组中。
这些安全组很少用于保护资源...当我们这样做时,我们倾向于创建一个组来管理 ACL,然后将启用邮件的组放入 ACL 组中。
我的问题是:是否存在用户数量阈值,此时我应该真正考虑嵌套组而不是直接添加人员?我们整个公司的员工不到 3000 人。
答案1
对于大多数组织来说,情况并非如此,而且 3,000 还不足以引起问题。
在 Active Directory 2003 之前,当向组中添加/删除成员时,整个组成员身份都会被重新复制。这太疯狂了,微软建议每个组的成员不超过 5,000 个(见下文)。Active Directory 2003 引入了链接值复制。添加/删除成员时,只会复制更改。在此之前,在大型多域林中,大多数更改都发生在全局组中,而通用组将所有全局组合并用于 ACL 目的的情况并不罕见,因为全局组成员不会复制到其他域。
这个问题可能仍然存在的一种情况是,在非常旧的目录中,在 Active Directory 2003 之前创建的组可能仍有旧成员。这些问题可以通过删除/重新添加成员来解决。
单个 LDAP 事务中增加/删除的次数有实际限制:5,000。这是 Active Directory 在单个数据库事务中可以安全提交的对象更改次数。因此,如果您要添加/删除 100,000 个成员,最好一次添加/删除的次数不超过 5,000 个。
答案2
作为格雷格·阿斯库提到过,在 Windows 2000 AD 环境下,建议的最大组成员数为 5000,而增加林功能级别后允许的成员数将超过 5000,根据你的成员数,这不会成为你的烦恼。如果你想更好地管理这些成员,你可以尝试使用嵌套组。