我正在尝试在Powershell中使用用户获取用户所属的所有组,甚至嵌套的组(回溯地):
(Get-ADUser <username> -Properties MemberOf | Select-Object MemberOf).MemberOf
但是,它仅返回用户是“直接”成员的组,就像使用AD用户控制台时得到的一样。我列出所有组的列表非常有帮助,例如“ gpresult -r”的输出,其中显示了用户所属的所有组。
有没有办法从任何AD用户那里获得它?(不需要专门在Powershell中,也许还有另一个我不知道的工具)
您可以使用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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句