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"}