2017-09-21 7 views
2

以下のコードは、ユーザーをカウントして比較し、合計カウントを出力すると想定されていますが、何らかの形で結果が空です。それを修正するために何をする必要がありますか?Active Directoryユーザーを集計します。

$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 
+0

パイプラインの構文が壊れています。バッククォートと一重引用符を削除します。 –

答えて

0

あなたがはるかに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" 
+0

私はそれを得た。このWrite-Output "Total:$ uniqueMemberCount"をCVSにエクスポートするにはどうしたらいいですか? – Power988

+0

今すぐ入手!どうもありがとうございます! – Power988

0

私はあなたが二つのグループのユニークなメンバーでカウントしたいと思う:

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

それは正しいですし、ネストされたグループも数えます。数百人のユーザーがいるので、あなたが言ったコードではできません。 – Power988

+0

ネストしたグループを数えることについては何も言いません。 –

関連する問題