【问题标题】:How to get ALL AD user groups (recursively) with Powershell or other tools?如何使用 Powershell 或其他工具(递归)获取所有 AD 用户组?
【发布时间】:2014-06-26 10:54:47
【问题描述】:

我正在尝试在我正在使用的 Powershell 中获取用户所属的所有组,甚至是嵌套组(递归):

(Get-ADUser <username> -Properties MemberOf | Select-Object MemberOf).MemberOf

但它只返回用户是“直接”成员的组,就像您在使用 AD 用户控制台时获得的一样。我列出所有组的单个列表非常有用,例如“gpresult -r”的输出,它显示了用户所属的所有组。

有没有办法从任何 AD 用户那里获得它? (不需要专门在Powershell中,也许还有另一个我还不知道的工具)

【问题讨论】:

    标签: powershell active-directory active-directory-group


    【解决方案1】:

    您可以使用LDAP_MATCHING_RULE_IN_CHAIN:

    Get-ADGroup -LDAPFilter "(member:1.2.840.113556.1.4.1941:=CN=User,CN=USers,DC=x)"
    

    您可以在任何可以使用 LDAP 过滤器的地方使用它。

    示例:

    $username = 'myUsername'
    $dn = (Get-ADUser $username).DistinguishedName
    Get-ADGroup -LDAPFilter ("(member:1.2.840.113556.1.4.1941:={0})" -f $dn) | select -expand Name | sort Name
    

    【讨论】:

    • 我对这有多棒感到震惊,如果我能不止一次 +1 的话。我刚刚阅读了您提供的链接中的相关文档,这对于任何处理 powershell、AD 和组/成员的人来说都是非常有价值的知识。
    • 注意:这似乎仅限于单域搜索库。即如果用户是不同域中的组的成员,或者其中一个组本身是另一个域中的组的成员,则另一个域上的那些将不会显示/将被排除在树之外(即即使其他域上的组是原始域上的组的成员)。
    • @Joseph Alcorn,知道为什么它不显示“域用户”组吗?当我使用Get-ADPrincipalGroupMembership myUser 时,它会向我显示用户组(它们之间也是“域用户”)。当我搜索时:$dn = (Get-ADUser "myUser").DistinguishedName Get-ADGroup -LDAPFilter ("(member:1.2.840.113556.1.4.1941:={0})" -f $dn) | select -expand Name | sort Name 它会忽略“域用户”组,但会显示所有其余组(也是递归的)
    • @E235,当用户将某个组作为主要组时,该链接不会存储在该组的member 属性中。相反,相对 ID (RID) 存储在 primaryGroupID 属性中的用户对象上。默认情况下,在 AD 中,主要组始终设置为“域用户”。如果您查看该组的成员属性,您会发现它是空的。
    • 这没有用,因为它超时了。
    【解决方案2】:

    或者,您可以使用 constructed attribute tokenGroups 和基本范围查询:

    $tokenGroups = Get-ADUser -SearchScope Base -SearchBase '<account-distinguishedName>' `
    -LDAPFilter '(objectClass=user)' -Properties tokenGroups | Select-Object `
    -ExpandProperty tokenGroups | Select-Object -ExpandProperty Value
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      相关资源
      最近更新 更多