Grupy dystrybucyjne – lista wszystkich użytkowników w grupie

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

 

Print Friendly
Otagowany , , , .Dodaj do zakładek permalink.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>