Sprawdzenie członków grup dynamicznych

Przy tworzeniu na serwerze Exchange grup dynamicznych z poziomu ECP nie jesteśmy w stanie sprawdzić kto jest członkiem takiej grupy np. w celu weryfikacji poprawności utworzenia grupy. Z pomocą przychodzi Powershell. Aby zweryfikować kto jest członkiem takiej grupy należy wydać następujące polecenie:

Get-Recipient -RecipientPreviewFilter (get-dynamicdistributiongroup nazwa_grupy).RecipientFilter -OrganizationalUnit $group.RecipientContainer 

Aby posortować wyniki po nazwie użytkownika:

Get-Recipient -RecipientPreviewFilter (get-dynamicdistributiongroup nazwa_grupy).RecipientFi lter -OrganizationalUnit $group.RecipientContainer|Sort-Object displayname|ft displayname

Aby wyeksportować wynik do pliku

Get-Recipient -RecipientPreviewFilter (get-dynamicdistributiongroup nazwa_grupy).RecipientFilter -OrganizationalUnit $group.RecipientContainer|Sort-Object displayname|select displayname |Export-Csv <sciezka do pliku>

Aby wyświetlić wszystkich członków wszystkich grup dynamicznych

foreach ($group in (Get-DynamicDistributionGroup)) {Get-Recipient -RecipientPreviewFilter $group.RecipientFilter -OrganizationalUnit $group.RecipientContainer | ft @{Expression={$_.displayname};Label=($group).name}} 

Wynik powyższego polecenia można wyeksportować do pliku. W związku z tym że wynik jest już sformatowany nie może to być plik w formacie csv

foreach ($group in (Get-DynamicDistributionGroup)) {Get-Recipient -RecipientPreviewFilter $group.RecipientFilter -OrganizationalUnit $group.RecipientContainer | ft @{Expression={$_.displayname};Label=($group).name} | Out-File "<sciezka_do_pliku>.txt" -Append} 

Innym sposobem jest wyświetlenie listy członków wraz z grupą dynamiczną do której należą w postaci kolumnowej

foreach ($group in (Get-DynamicDistributionGroup)) {Get-Recipient -RecipientPreviewFilter $group.RecipientFilter -OrganizationalUnit $group.RecipientContainer | Select DisplayName,@{n="Group";e={$group.name}}} 

Wynik możemy wyeksportować do pliku csv

foreach ($group in (Get-DynamicDistributionGroup)) {Get-Recipient -RecipientPreviewFilter $group.RecipientFilter -OrganizationalUnit $group.RecipientContainer | Select DisplayName,@{n="Group";e={$group.name}} | Export-Csv "sciezka_do_pliku_csv" -Append}

W powyższym przykładzie wszyscy członkowie wszystkich grup są w jednym pliku. Przy eksporcie do pliku dla każdej z grup możemy założyć odrębny plik.

foreach ($group in (Get-DynamicDistributionGroup)) {Get-Recipient -RecipientPreviewFilter $group.RecipientFilter -OrganizationalUnit $group.RecipientContainer | Select DisplayName | Export-Csv "siezka_do_pliku\$group.members.csv"}