Throughout my years as a System Administrator, I’ve been asked repeatedly to produce a list for someone of the contents of a distribution list. I searched and found some scripts out there and ended up modifying one that now fits my needs.
# Gets distribution list members from a group in exchange # Author: Ed Rockwell # Company: Some Company You Work At # Date: Today :) # Ver: 1.0 param ( $OutputFile = "C:\listmembers.txt" ) Write-Host "Checking if output file already exists..." -NoNewline if (Test-Path $OutputFile) { Write-Host "Found old output file from last run!" Write-Host "Removing old output file..." -NoNewline Remove-Item $OutputFile -Force Write-Host "Done!" } else { Write-Host "Cleanup of last output file not found... Good!" } IF ( -NOT ( Get-PSSnapin -Name "Microsoft.Exchange.Management.PowerShell.E2010" -ErrorAction SilentlyContinue )) { Add-PSSnapin "Microsoft.Exchange.Management.PowerShell.E2010" } $UserCredential = Get-Credential "Domain\User" $saveto = "C:\listmembers.txt" $UserEntryGroupName = Read-Host "Enter the Group you would like to get the members" Get-DistributionGroup -identity "$UserEntryGroupName" | sort name | ForEach-Object { "`r`n$($_.Name)`r`n=============" | Add-Content $saveto Get-DistributionGroupMember $_.Name | sort Name | ForEach-Object { $_.Name + " <" + $_.PrimarySMTPAddress + ">" | Add-Content $saveto } } Notepad c:\listmembers.txt |