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

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

Continue reading

Exchange 2010 usunięcie wyłączonych kont z grup dystrybucyjnych

W celu utrzymania porządku w grupach dystrybucyjnych, dobrze jest od czasu do czasu usunąć z tych grup użytkowników którzy mają wyłączone konta.

Poniżej prezentujemy skrypt który przeszukuje wszystkie grupy dystrybucyjne, następnie usuwa z nich wszystkich użytkowników którzy są wyłączeni (RecipientTypeDetails – DisabledUser), oraz dodatkowo możemy określić z jakich OU mają to być użytkownicy.

 

Dodatkowo skrypt tworzy plik wynikowy .csv w którym zapisane są poniższe informacje:

  • nazwa grupy dystrybucyjnej
  • DisplayName użytkownika
  • SamAccountName
  • scieżka AD w której znajduje się użytkownik

Continue reading

Exchange 2010 puste grupy dystrybucyjne

W dużym środowisku Exchange często tworzymy skrzynki funkcyjne, grupy dystrybucyjne, które są potrzebne w danym momencie.

Często jest tak, że później zapominamy o utworzonych grupach, które przestają być używane po pewnym czasie.

Dlatego aby zrobić porządek z grupami dobrze jest od czasu do czasu sprawdzić czy nie posiadamy grup „pustych” do których nikt nie jest przypisany.

W tym celu możemy uruchomić poniższe polecenie, które zwróci nazwę, adres smtp oraz właściciela grupy nie zawierającej żadnych osób ani grup:

$DistrGroups = Get-DistributionGroup -ResultSize Unlimited
ForEach ($DistrGroup in $DistrGroups) { 
 if (!$(Get-DistributionGroupMember -Identity $DistrGroup.’DistinguishedName’)) { 
  Write-Host $DistrGroup.DisplayName "," $DistrGroup.PrimarySmtpAddress "," $DistrGroup.ManagedBy
  }
}