This post is also available in: angielski
Jak możemy uzyskać listę skrzynek należących do danej grupy dystrybucyjnej ?
W prosty sposób, poprzez wykorzystanie konsoli EMC i sprawdzenie kto jest członkiem grupy, lub poprzez wykorzystanie powershell w konsoli EMS i użycie polecenia:
Get-DistributionGroupMember Test_Group
Dzięki temu uzyskamy listę obiektów znajdujących się w grupie, zarówno skrzynek, kontaktów, jak i innych grup.
I tutaj pojawia się problem, ponieważ jeżeli dana grupa dystrybucyjna zawiera w sobie kolejna, a ta znowu kolejna itd to jak możemy uzyskać listę wszystkich osób które otrzymają emaila po wysłaniu wiadomości na grupę dystrybucyjną ?
Niestety korzystając tylko z polecenia Get-DistributionGroupMember nie uzyskamy takiej informacji.
Polecenie to zwraca jedynie obiekty znajdujące się bezpośrednio w grupie, bez zagnieżdżeń.
W takim przypadku musimy skorzystać poleceń powershell dostępnych dla Active Directory.
W tym celu w konsoli EMS importujemy moduł poleceń Active Directory jak poniżej:
import-module ActiveDirectory
Teraz możemy skorzystać z polecenia:
Get-ADGroupMember Test_Group
Niemniej jednak w takim przypadku również otrzymamy jedynie listę obiektów znajdujących się bezpośrednio w grupie Test_Group.
Aby otrzymać listę wszystkich obiektów które są w grupie łącznie z obiektami zagnieżdżonymi (nested) czyli znajdującymi się w innych grupach dystrybucyjnych, które są członkami grupy Test_Group, musimy użyć parametru -Recursive
Get-ADGroupMember Test_Group -Recursive
W taki sposób otrzymamy listę wszystkich obiektów należących do grupy bezpośrednio lub pośrednio.
Jeżeli chcemy dowiedzieć się ile jest tych obiektów, wystarczy wpisać:
$(Get-ADGroupMember Test_Group -Recursive).count
Aby otrzymać listę wszystkich użytkowników w grupie których konta w ActiveDirectory są wyłączone możemy skorzystać z polecenia jak poniżej:
Get-ADGroupMember Test_Group -recursive | % {Get-ADUser $_ -properties enabled | ? {$_.enabled -eq $False} | select Name}
Dzięki temu otrzymamy listę osób które mają wyłączone konto w ActiveDirectory i być może nie powinni już należeć do grupy Test_Group