'How to get all groups that a mail contact is a member of?

I want to get all groups that a mail contact is a member of.

Script :

get-mailcontact -resultsize unlimited | where-object {($_.PrimarySmtpAddress -like "*@domain.com")} | select name,alias, PrimarySmtpAddress |export-csv c:\temp\contact.csv -NTI

My desired output:

"Name","Alias","PrimarySmtpAddress","Mail Groups"
"John T.","john.t_contoso.com","[email protected]","Mail Group1;Mail Group2"
"Amy T.","amy.t_contoso.com","[email protected]","Mail Group4;Mail Group5"
"tstcontact","tstcontact_contoso.com","[email protected]","Mail Group2"

thanks,

UPDATE :

Script :

$groups = Get-DistributionGroup -ResultSize Unlimited
Get-Mailcontact -resultsize unlimited
Where-Object {($_.PrimarySmtpAddress -like "*@domain.com")} | 
Select-Object name, alias, PrimarySmtpAddress, 
    @{Name = 'MailGroups'; Expression = {
        $contact = Get-MailContact -Identity $_.Name  # or use $_.Name
        (Get-ADObject -Identity $Contact.DistinguishedName -Properties 'MemberOf').MemberOf -join ';'
    }
} | Export-Csv -Path 'C:\temp\contact.csv' -NoTypeInformation -Encoding UTF8

My output :

"Name","Alias","PrimarySmtpAddress","MailGroups"
"User1","user1","[email protected]","CN=MailGroup1,OU=DISTRIBUTION,DC=contoso,DC=local;CN=MailGroup2,OU=DISTRIBUTION,DC=contoso,DC=local"

My desired output :

"Name","Alias","PrimarySmtpAddress","MailGroups"
"User1","user1","[email protected]","MailGroup1;MailGroup2"


Solution 1:[1]

I can't test this myself, but please try below

$groups = Get-Group
Get-Mailcontact -ResultSize unlimited | 
Where-Object {($_.PrimarySmtpAddress -like "*@domain.com")} | 
Select-Object name, alias, PrimarySmtpAddress, 
    @{Name = 'MailGroups'; Expression = {
        $contact = Get-Contact -Identity $_.DistinguishedName  # or use $_.Name
        ($groups | Where-Object {$_.Members -contains $contact}).Name -join ';'
    }
} | Export-Csv -Path 'c:\temp\contact.csv' -NoTypeInformation

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Theo