【问题标题】:How can I use Perl to test for Win32 group membership when group contains nested groups?当组包含嵌套组时,如何使用 Perl 测试 Win32 组成员资格?
【发布时间】:2010-10-08 19:25:29
【问题描述】:

我正在尝试使用 Perl 来确定 Windows 用户是否是 Windows 组的成员,该组是否包含嵌套组。

我尝试过使用Win32::NetAdmin::GroupIsMember(),但它只有在用户是该组的直接成员时才有效。

我不是 AD 或 LDAP 专家,但我在 Google 上搜索的示例表现出相同的行为。

例如,用户“joe”是组“A”的成员。组“A”是组“B”的成员。我想测试一下 joe 是否是“B”的成员。

【问题讨论】:

    标签: perl winapi ldap adsi


    【解决方案1】:

    您可以使用递归扫描 AD 或(更好地)通过 SID 枚举组成员身份。请参阅以下示例:http://explodingcoder.com/blog/content/how-query-active-directory-security-group-membership

    【讨论】:

    • 我试过那个代码,但枚举 SID 只返回用户是直接成员的组。
    • IE枚举 SIDS 将显示用户“joe”是 A 组的成员,但不是 B 组的成员。
    • 我链接到的文章似乎完全适用于您的情况。来自文章:“......用户是'IT Operations'的成员,而该组是'IT部门'的成员。”我没有详细描述该方法,因为这篇文章比我做得更好。 Perl 中也有一个代码示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2023-02-25
    • 2020-01-04
    • 2012-03-15
    相关资源
    最近更新 更多