A lot of organizations, including mine, add external contacts to Distribution Groups. In my case, we have a US and EU business units and users need to be included in groups. A lot of administrative housekeeping involves reporting which of those groups contain contacts.
There's no easy oneliner or a way to grab all the groups at once in the EAC or ADUC to get that info, so I threw together a quick little script that will list those DL's for us.
You can grab the script from my Google Drive here
-or-
Copy the following block into Notepad and save it as something like Get-DL-Contacts.ps1
foreach($dl in get-group -resultsize unlimited )
{
foreach ($member in $dl.members)
{
$recipient = ($member | get-recipient -erroraction silentlycontinue)
if ($recipient.RecipientType -eq "MailContact")
{
Write-Host "$($dl.Name) Contains Contacts"
break
}
}
}
Once you have the .ps1 file, fire up the Exchange Management Shell, cd to the location you saved it and run Get-DL-Contacts.ps1
**Note** If you need to report on Mail Users instead of Contacts, change the $recipient.RecipientType -eq "MailContact") to $recipient.RecipientType -eq "MailUser")
Depending on the amount of distros you have, it might take a while to run (I have 1500 and it took about 30 minutes) but when it completes, you'll get the list of lists in the PS window.
**Note** When I have time I'll update the script to list both the DL's and the actual contacts within each one...unless one of my readers wants to do that for me :)
No comments:
Post a Comment