2017-09-21 4 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

당신은 훨씬 더 파워 쉘 - 억양 방법으로이 작업을 수행 할 수 있습니다.

$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

질문에 중첩 된 그룹을 세는 것에 대해 아무 것도 말하지 않습니다. –