Er zijn veel distributiegroepen en we willen graag alle leden en eigenaren hebben. We kunnen de groepen in het Microsoft 365-beheercentrum individueel doornemen, maar dat kost veel tijd. Laten we de taak dus automatiseren en een rapport exporteren met alle leden, eigenaren en meer informatie. In dit artikel leert u hoe u Microsoft 365-distributiegroepsleden in bulk kunt exporteren naar een CSV-bestand met PowerShell-script.
Zoek Microsoft 365-distributiegroepen
Volg deze stappen om alle distributiegroepen in Microsoft 365 te vinden:
- Meld u aan bijMicrosoft Exchange-beheercentrum
- KlikOntvangers > Groepen
- Klik op degroepstypeom de distributiegroepen weer te geven

Laten we eens kijken naar de volgende stap over het exporteren van Microsoft 365-distributiegroepsleden met PowerShell.
De Export-M365DGMembers.ps1 PowerShell haalt alle Microsoft 365-distributiegroepen op, inclusief hun leden, en exporteert deze naar een CSV-bestand.
Voor elke Microsoft 365-distributiegroep worden de volgende gegevens verzameld:
- Weergavenaam
- Beschrijving
- Primair Smtp-adres
- Secundair Smtp-adres
- Alias
- Groepstype
- Ontvangertype
- GesynchroniseerdFromOnPremises
- Lid
- LidPrimairSmtpAddress
- Lidtype
- Eigenaren
- HiddenFromAddressLijsten
- LidWordenBeperking
- MemberDepartRestriction
- RequireSenderAuthenticationEnabled
- AccepteerMessagesOnlyFrom
- Verzenden namens
- versturen
- Wanneeraangemaakt
- Wanneer gewijzigd
Opmerking:Wilt u een lijst krijgen van alle leden van de distributiegroep in Exchange Server? Lees het artikel Leden van distributiegroepen exporteren naar CSV met PowerShell.
1. Installeer de Exchange Online PowerShell-module
Voordat we verder kunnen gaan en de Microsoft 365-leden en -eigenaren uit alle distributiegroepen kunnen halen, moeten we de Exchange Online PowerShell-module installeren.
Start Windows PowerShell als beheerder en voer de onderstaande opdrachten uit.
Install-Module -Name ExchangeOnlineManagement -Force2. Bereid het PowerShell-script voor voor het exporteren van Microsoft 365-distributiegroepleden
Maak twee mappen op de(C:)drijfveer:
- Temp
- Scripts
Download het PowerShell-script Export-M365DGMembers.ps1 en plaats het inC:scriptsmap. Het script exporteert het CSV-bestand naar hetC:tempmap.
Zorg ervoor dat het bestand is gedeblokkeerd om fouten bij het uitvoeren van het script te voorkomen. Lees meer in het artikel Fout niet digitaal ondertekend bij het uitvoeren van PowerShell-script.
Een andere optie is om de onderstaande code te kopiëren en in Kladblok te plakken. Geef het de naamExporteren-M365DGMembers.ps1en plaats deze in deC:scriptsmap.
<#
.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- Regel 22:Bewerk het CSV-bestandspad
3. Voer het PowerShell-script voor Microsoft 365-distributiegroepleden exporteren uit
Haal alle Microsoft 365-distributiegroepen op, inclusief hun leden en eigenaren, en exporteer ze naar een CSV-bestand.
Voer de onderstaande opdracht uit om het script Export-M365DGMembers.ps1 uit te voeren.
c:scripts.Export-M365DGMembers.ps14. Open het rapport Microsoft 365-distributiegroepleden
Het PowerShell-script Export-M365DGMembers.ps1 exporteert alle leden van de Microsoft 365-distributiegroep naar een CSV-bestand.
Zoek het bestandM365DGMembers.csvin het padC:temp.

Open het CSV-bestand met uw favoriete applicatie. In ons voorbeeld is dit Microsoft Excel.

Het rapport over leden en eigenaren van de Microsoft 365-distributiegroep ziet er geweldig uit!
Conclusie
U hebt geleerd hoe u Microsoft 365-distributiegroepsleden naar CSV exporteert met PowerShell. De export in het beheercentrum geeft u niet alle gewenste eigenschappen. Het is het beste om het PowerShell-script te gebruiken, omdat u het aan uw behoeften kunt aanpassen.
Lees ook:Distributiegroepen migreren naar Microsoft 365
Vond je dit artikel leuk? Mogelijk vindt u dit ook interessant Export Entra ID-app-registraties Certificaten en geheimen vervalrapport. Vergeet ons niet te volgen en dit artikel te delen.










![[Fix] Probleem "Veilige verbinding mislukt" in Mozilla Firefox Webbrowser](https://media.askvg.com/articles/images6/Secure_Connection_Failed_Problem_Mozilla_Firefox.png)



