Esistono molti gruppi di distribuzione e ci piace includere tutti i membri e i proprietari. Possiamo esaminare individualmente i gruppi nell'interfaccia di amministrazione di Microsoft 365, ma ciò richiede molto tempo. Automatizziamo quindi l'attività ed esportiamo un report con tutti i membri, i proprietari e ulteriori informazioni. In questo articolo imparerai come esportare in blocco i membri del gruppo di distribuzione Microsoft 365 in un file CSV con lo script PowerShell.
Trova i gruppi di distribuzione di Microsoft 365
Per trovare tutti i gruppi di distribuzione in Microsoft 365, attenersi alla seguente procedura:
- Accedi aInterfaccia di amministrazione di Microsoft Exchange
- ClicDestinatari > Gruppi
- Fare clic sutipo di gruppoper elencare i gruppi di distribuzione

Diamo un'occhiata al passaggio successivo su come esportare i membri del gruppo di distribuzione Microsoft 365 con PowerShell.
Il PowerShell Export-M365DGMembers.ps1 otterrà tutti i gruppi di distribuzione di Microsoft 365, inclusi i relativi membri, e li esporterà in un file CSV.
Per ogni gruppo di distribuzione Microsoft 365, raccoglie le seguenti informazioni:
- Nome da visualizzare
- Descrizione
- Indirizzo SMTP primario
- Indirizzo SMTP secondario
- Alias
- Tipo di gruppo
- Tipo destinatario
- SyncedFromOnPremises
- Membro
- MembroPrimarySmtpAddress
- Tipo membro
- Proprietari
- HiddenFromAddressLists
- Restrizione MemberJoin
- MemberDepartRestriction
- RequireSenderAuthenticationEnabled
- Accetta solo messaggi da
- SendonPer conto di
- Inviare
- Quando creato
- Quando modificato
Nota:Vuoi ottenere un elenco di tutti i membri del gruppo di distribuzione in Exchange Server? Leggi l'articolo Esportare i membri del gruppo di distribuzione in CSV con PowerShell.
1. Installare il modulo PowerShell di Exchange Online
Prima di poter procedere oltre e ottenere i membri e i proprietari di Microsoft 365 da tutti i gruppi di distribuzione, è necessario installare il modulo PowerShell di Exchange Online.
Avvia Windows PowerShell come amministratore ed esegui i comandi seguenti.
Install-Module -Name ExchangeOnlineManagement -Force2. Preparare l'esportazione dello script PowerShell dei membri del gruppo di distribuzione Microsoft 365
Crea due cartelle in(C:)guidare:
- Temp
- Script
Scarica lo script PowerShell Export-M365DGMembers.ps1 e inserisciloC: scriptcartella. Lo script esporterà il file CSV nel formatoC:tempcartella.
Assicurarsi che il file sia sbloccato per evitare errori durante l'esecuzione dello script. Maggiori informazioni nell'articolo Errore senza firma digitale durante l'esecuzione dello script PowerShell.
Un'altra opzione è copiare e incollare il codice seguente nel Blocco note. Dategli il nomeEsporta-M365DGMembers.ps1e posizionarlo nelC: scriptcartella.
<#
.SYNOPSIS
Export-M365DGMembers.ps1
.DESCRIPTION
Export Microsoft 365 Distribution Group Members to CSV file with PowerShell.
.LINK
www.alitajran.com/export-microsoft-365-distribution-group-members-to-csv-powershell/
.NOTES
Written by: ALI TAJRAN
Website: www.alitajran.com
LinkedIn: linkedin.com/in/alitajran
.CHANGELOG
V1.00, 03/21/2024 - Initial version
V1.10, 04/20/2024 - Added MemberType property and report members on seperate row
#>
# CSV file export path
$Csvfile = "C:tempM365DGMembers.csv"
# Connect to Exchange Online PowerShell
Connect-ExchangeOnline
# Get all distribution groups
$Groups = Get-DistributionGroup -ResultSize Unlimited
# Initialize a List to store the data
$Report = [System.Collections.Generic.List[Object]]::new()
# Set up the progress bar parameters
$totalGroups = $Groups.Count
$currentGroup = 0
# Loop through distribution groups and store custom objects in the array
foreach ($Group in $Groups) {
# Update the progress bar
$currentGroup++
$status = "{0:N0}" -f ($currentGroup / $totalGroups * 100)
$progressParams = @{
Activity = "Retrieving Group Members"
Status = "Processing group: $($group.DisplayName) - $currentGroup of $totalGroups : $status% completed"
PercentComplete = ($currentGroup / $totalGroups) * 100
}
Write-Progress @progressParams
# Retrieve group properties
$Members = Get-DistributionGroupMember $Group.DistinguishedName -ResultSize Unlimited
$Owner = $Group.ManagedBy | ForEach-Object { (Get-Recipient $_ -ErrorAction SilentlyContinue).DisplayName }
$AcceptMessagesOnlyFromDisplayNames = $Group.AcceptMessagesOnlyFrom | ForEach-Object { (Get-Recipient $_).PrimarySmtpAddress }
$GrantSendOnBehalfToDisplayNames = $Group.GrantSendOnBehalfTo | ForEach-Object { (Get-User $_ -ErrorAction SilentlyContinue).DisplayName }
# Get SendAs permissions
$SendAsPermissions = Get-RecipientPermission -Identity $Group.PrimarySmtpAddress
$SendAsTrustees = $SendAsPermissions.Trustee
# Create custom objects for each member
foreach ($Member in $Members) {
$ReportLine = [PSCustomObject]@{
DisplayName = $Group.DisplayName
Description = $Group.Description
PrimarySmtpAddress = $Group.PrimarySmtpAddress
SecondarySmtpAddress = ($Group.EmailAddresses | Where-Object { $_ -clike "smtp*" } | ForEach-Object { $_ -replace "smtp:", "" }) -join ','
Alias = $Group.Alias
GroupType = $Group.GroupType
RecipientType = $Group.RecipientType
SyncedFromOnPremises = $Group.IsDirSynced
Member = $Member.DisplayName
MemberPrimarySmtpAddress = $Member.PrimarySmtpAddress
MemberType = $Member.RecipientType
Owners = $Owner -join ','
HiddenFromAddressLists = $Group.HiddenFromAddressListsEnabled
MemberJoinRestriction = $Group.MemberJoinRestriction
MemberDepartRestriction = $Group.MemberDepartRestriction
RequireSenderAuthenticationEnabled = $Group.RequireSenderAuthenticationEnabled
AcceptMessagesOnlyFrom = $AcceptMessagesOnlyFromDisplayNames -join ','
SendOnBehalf = $GrantSendOnBehalfToDisplayNames -join ','
SendAs = $SendAsTrustees -join ','
WhenCreated = $Group.WhenCreated
WhenChanged = $Group.WhenChanged
}
$Report.Add($ReportLine)
}
}
# Complete the progress bar
Write-Progress -Activity "Retrieving Group Members" -Completed
# Output the custom objects array, sort them, and display in a grid view
$Report | Sort-Object DisplayName | Out-GridView -Title "M365 Distribution Group Members"
# Export report to CSV file
$Report | Sort-Object DisplayName | Export-Csv -Path $Csvfile -NoTypeInformation -Encoding utf8- Riga 22:Modifica il percorso del file CSV
3. Eseguire lo script Esporta membri del gruppo di distribuzione Microsoft 365 PowerShell
Ottieni tutti i gruppi di distribuzione di Microsoft 365, inclusi i relativi membri e proprietari, ed esportali in un file CSV.
Esegui il comando seguente per eseguire lo script Export-M365DGMembers.ps1.
c:scripts.Export-M365DGMembers.ps14. Aprire il report sui membri del gruppo di distribuzione Microsoft 365
Lo script PowerShell Export-M365DGMembers.ps1 esporta tutti i membri del gruppo di distribuzione Microsoft 365 in un file CSV.
Trova il fascicoloM365DGMembers.csvnel percorsoC:temp.

Apri il file CSV con la tua applicazione preferita. Nel nostro esempio, è Microsoft Excel.

Il report sui membri e sui proprietari del gruppo di distribuzione Microsoft 365 sembra fantastico!
Conclusione
Hai imparato come esportare i membri del gruppo di distribuzione Microsoft 365 in CSV con PowerShell. L'esportazione nell'interfaccia di amministrazione non ti fornisce tutte le proprietà che desideri. È preferibile utilizzare lo script PowerShell perché puoi personalizzarlo in base alle tue esigenze.
Leggi anche:Come migrare i gruppi di distribuzione a Microsoft 365
Ti è piaciuto questo articolo? Potrebbe interessarti anche Registrazioni app Export Entra ID Certificati e Report scadenza segreti. Non dimenticare di seguirci e condividere questo articolo.












![[Fix] Bing Homepage Quiz non funziona nel mio browser web](https://media.askvg.com/articles/images7/Bing_Homepage_Quiz_Weekly.png)
