我的 Active Directory 林由多个子域组成,其中包括:
- 主域名 (
main.contoso.local
) - 测试域 (
test.contoso.local
)
我的用户david@main.contoso.local
是MAIN\Global
GroupScope组的成员Global
,位于主域中。此全局组是TEST\DomainLocal
GroupScope组的成员Domain Local
,位于测试域中。
[david@main.contoso.local] --MemberOf--> [MAIN\Global] --MemberOf--> [TEST\DomainLocal]
如果我的用户登录到测试域中的一台机器,则令牌将包含 SID 。这可以在用户会话中TEST\DomainLocal
进行验证。whoami /groups
作为管理员,我如何在不以用户身份登录的情况下通过 CLI 获取此信息?我尝试查询全局目录或使用LDAP_MATCHING_RULE_IN_CHAIN
(member:1.2.840.113556.1.4.1941)
,但未TEST\DomainLocal
在任何地方显示。
最佳答案
1
域本地组明确不会在其域外复制,这包括全局目录。这是设计使然,也是此组范围存在的原因。如果您想获取每个域中的主体成员资格,包括域本地组,则需要分别查询每个域。
或者,您可以将范围从 DomainLocal 组更改为通用组,以便可以接受来自其他域的成员。
或者,您可以将其设计为,来自 MAIN 域的通用组仅在 TEST 中的域本地组中专门使用,这样您只需查看 MAIN 中的成员资格即可看到用户是哪些 DLG 的成员。
最后一个选项与 AD 最佳实践和考试的教学方式最为相似。根据该教学,来自不同域的用户不应成为任何域中的域本地组的直接成员;通用组应该是域本地组的成员——但这已经变得相当复杂了。这完全是为了控制复制范围并减少复制的数量和频率。在现代世界中,带宽和延迟不再是一个重要因素,其中一些做法已被抛弃。
4
-
you would need to query each domain separately
– 这正是我似乎无法弄清楚的部分。我想我必须查询林中的每个域才能获取所有域本地组。但是查询是什么?一定有办法,因为否则这些域的域控制器如何构建正确的令牌。
– -
我想,这有什么关系?域 TEST 中的资源不需要了解域 MAIN 中的域本地组。无论如何,您都不能以这种方式使用这些组如果您发现自己需要这样做,则设计不正确;您正在查看通用组的用例。
–
-
我所能想到的就是,您希望执行某种审计,或者某种方式,以枚举跨多个域的特定帐户的所有访问权限——再次,我回到组设计,并利用嵌套在域本地组中的专用通用组。域 MAIN 中的用户不应位于域 TEST 中的本地组中;它将大大简化此类任务,并遵循适当的组设计和功能。
– -
我完全同意你的观点,只是作为一家数百名 IT 人员一起工作的公司,每个人的行为方式并不相同 :)。我问这个问题是因为当我查看用户时,为了改善群组成员资格,我必须先了解发生了什么。目前这项任务需要很长时间,因为信息不在一个地方。我想要一个可以为我提取这些信息的脚本。
–
|
|