Próbowałem uzyskać całkowitą liczbę użytkowników w kilku grupach Active Directory i do tej pory dostałem to razem:

$Groups = Get-Content -Path $someFile
foreach ($Group in $Groups) {
    (Get-ADGroup $Group -Properties *).Member.Count
}

Oczywiście, że wypluwa to numer dla każdej grupy indywidualnej, ale nie natknąłem się na żaden sposób psu dodać te numery i wyświetlić ostateczną sumę.

1
Max091 28 luty 2019, 22:50

2 odpowiedzi

Najlepsza odpowiedź

Aby uzyskać liczbę unikalnych członków, możesz zrobić coś takiego:

$script:cnt = 0
$Groups |
    Get-ADGroupMember |
    Select-Object -Expand DistinguishedName -Unique |
    ForEach-Object { $script:cnt++ }

Jeśli chcesz rozwiązać członków grupy rekurencyjnej (tj. Członkowie zagnieżdżonych grup) dodaj -Recursive do Get-ADGroupMember.

1
Ansgar Wiechers 28 luty 2019, 20:36

Nie mam dostępu do serwera reklam, aby to przetestować, ale to powinno działać, przypisując liczbę członków do zmiennej i dodawanie suma bieżącej grupy do zmiennej, a następnie wyjść całkowitą liczbę po zakończeniu.

$Groups = Get-Content -Path
Foreach ($Group in $Groups) {
    $totalusers += (Get-ADGroup $Group -Properties *).member.count
}
$totalusers
1
jj27 28 luty 2019, 19:53