计算 Active Directory 用户

Count Active Directory users

下面的代码应该对用户进行计数和比较并输出总计数,但不知何故结果为空。我需要做什么来修复它?

$groups = $A_group, $B_Group
$gm     = @()

foreach ($group in $groups) {
    $gm += Get-ADGroupMember $group -Recursive |
           `where {$_.objectclass -eq 'user'} |`  
           ' select SamAccountName'
}

($gm.samaccountname | Select -Unique).Count
Write-Output total: ($gm.samaccountname | Select -Unique).Count

我想你想计算两个组的唯一成员数:

$aGroup = @('a','b','c')
$bGroup = @('b','c','e','f')
(Compare-Object $aGroup $bGroup -IncludeEqual).count

你可以用一种更像 powershell 的方式来做到这一点。

$groups  = $A_group, $B_Group
$uniqueMemberCount = $groups |
    Get-ADGroupMember -Recursive |
    Where-Object {$_.objectClass -ieq "user"} |
    Select-Object -Unique |
    Measure-Object |
    Select-Object -ExpandProperty Count

Write-Output "Total: $uniqueMemberCount"