获取用户所属的 AD 组的数量

获取用户所属的 AD 组的数量

关于如何计算群组中的成员数量存在很多问题,但由于群组进入令牌的数量有 200 个组的硬性限制,因此我需要计算用户所属群组的数量。

(Get-ADUser userName –Properties MemberOf).MemberOf来自此回复 获取用户所属组的列表,但我如何才能获得数量?

答案1

很多方法在 PowerShell 中对事物进行计数。Measure-Object 就是其中之一,但我更喜欢 count 方法:

(Get-ADUser <username> -Properties MemberOf).MemberOf.count

就我个人而言,我更感兴趣的是用户的递归(嵌套)组成员身份。这可以更全面地展示他们可以访问的内容。要获取用户所属的所有嵌套组,可以使用构造属性 tokenGroups(如上文所述)这里):

Get-ADUser -SearchScope Base -SearchBase (Get-ADUser <username>).DistinguishedName -LDAPFilter '(objectClass=user)' -Properties tokenGroups | Select-Object -ExpandProperty tokenGroups | Select-Object -ExpandProperty Value | %{(Get-ADGroup $_).Name} | Sort-Object

答案2

或许是 Measure-Object -Line

(Get-ADUser userName –Properties MemberOf).MemberOf | Measure-Object -Line

相关内容