关于如何计算群组中的成员数量存在很多问题,但由于群组进入令牌的数量有 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