Muitas vezes precisamos exportar os membros de todos os grupos de distribuição para alguma tipo de manutenção, consulta, etc...
O script que compartilho com vocês irá ajudar muito no dia a dia.
Ele ira exportar para um arquivo .csv separando em: Distribution Group, DisplayName, Distribution Group Email, Member DisplayName, Member Email, Member Type.
Segue o exemplo de um arquivo gerado:
![]() |
Arquivo gerado |
Segue script:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$OutputFile = "DistributionGroupMembers.csv" #Nome do arquivo de saída | |
$arrDLMembers = @{} | |
Connect-ExchangeOnline | |
#Cabeçalho do arquivo de saída | |
Out-File -FilePath $OutputFile -InputObject "Distribution Group DisplayName,Distribution Group Email,Member DisplayName, Member Email, Member Type" -Encoding UTF8 | |
#Get os grupos de distribuição | |
$objDistributionGroups = Get-DistributionGroup -ResultSize Unlimited | |
Foreach ($objDistributionGroup in $objDistributionGroups) | |
{ | |
write-host "Processing $($objDistributionGroup.DisplayName)..." | |
#Get members do grupo | |
$objDGMembers = Get-DistributionGroupMember -Identity $($objDistributionGroup.PrimarySmtpAddress) | |
write-host "Found $($objDGMembers.Count) members..." | |
Foreach ($objMember in $objDGMembers) | |
{ | |
Out-File -FilePath $OutputFile -InputObject "$($objDistributionGroup.DisplayName),$($objDistributionGroup.PrimarySMTPAddress),$($objMember.DisplayName),$($objMember.PrimarySMTPAddress),$($objMember.RecipientType)" -Encoding UTF8 -append | |
write-host "`t$($objDistributionGroup.DisplayName),$($objDistributionGroup.PrimarySMTPAddress),$($objMember.DisplayName),$($objMember.PrimarySMTPAddress),$($objMember.RecipientType)" | |
} | |
} | |
Por hoje é isso.
Breno Padovan.
Nenhum comentário:
Postar um comentário