Skip to main content

Invoke-ModernMailContactGroupReport

SYNOPSIS​

Generates a contact-centric distribution group membership report.

SYNTAX​

Invoke-ModernMailContactGroupReport [[-OutPath] <String>] [[-RecipientType] <String[]>] [-IncludeNested]
[-IncludeDynamic] [-UnassignedOnly] [-Raw] [-AddHtmlOutput] [-DisableTelemetry]
[-ProgressAction <ActionPreference>] [<CommonParameters>]

DESCRIPTION​

Reads mail contacts (and optionally mail users and guests) from Exchange Online and resolves which distribution lists, mail-enabled security groups, room lists and (optionally) dynamic distribution groups they belong to. Nested memberships can be expanded so you also see the parent groups a contact receives mail through. Contacts without any group membership are listed as well, which helps with cleanup. Supports optional export to CSV, JSON or HTML.

EXAMPLES​

EXAMPLE 1​

Invoke-ModernMailContactGroupReport

EXAMPLE 2​

Invoke-ModernMailContactGroupReport -OutPath C:\Reports

EXAMPLE 3​

Invoke-ModernMailContactGroupReport -IncludeNested -IncludeDynamic -OutPath C:\Reports\MailContactGroupReport.html

EXAMPLE 4​

Invoke-ModernMailContactGroupReport -RecipientType MailContact,MailUser,GuestMailUser -Raw -OutPath C:\Reports\contacts.json

EXAMPLE 5​

Invoke-ModernMailContactGroupReport -UnassignedOnly | Format-Table DisplayName, ExternalEmailAddress

PARAMETERS​

-OutPath​

Optional path for exporting the report. Provide a folder to create MailContactGroupReport.csv or a specific file path ending in .csv, .json or .html.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-RecipientType​

Which recipient types to analyze. Defaults to MailContact.

Type: String[]
Parameter Sets: (All)
Aliases:

Required: False
Position: 2
Default value: @('MailContact')
Accept pipeline input: False
Accept wildcard characters: False

-IncludeNested​

Resolve nested group membership (contact is in group A, group A is member of group B).

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-IncludeDynamic​

Include dynamic distribution groups (uses Get-DynamicDistributionGroupMember, slower in large tenants).

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-UnassignedOnly​

Return only contacts that are not member of any group.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-Raw​

Return one row per contact/group assignment instead of the per-contact summary.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-AddHtmlOutput​

Emit an HTML report (MailContactGroupReport.html) next to the CSV/JSON export.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-DisableTelemetry​

Disable telemetry.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-ProgressAction​

Fill ProgressAction Description

Type: ActionPreference
Parameter Sets: (All)
Aliases: proga

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters​

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS​

OUTPUTS​

System.Management.Automation.PSCustomObject​

NOTES​

https://exchangepermissions.alweys.ch/modernmailtools/Invoke-ModernMailContactGroupReport