DL Group memberof

Austin Sundar 436 Reputation points
2021-03-10T13:42:20.943+00:00

i am trying to get "MemberOf" details of each DLs along with the DL report. but it doesn't show any result.
could anyone please help to get the "MemberOf" details?

Add-PSSnapin microsoft.exchange.management.powershell.snapin
Set-ADServerSettings -ViewEntireForest $true
$report = @()
$Dls = Get-DistributionGroup -Identity ""
foreach ($dl in $dls)
{
   $count = (Get-DistributionGroupMember $Dl).Count
   $Members = (get-distributiongroupmember $dl.name | select-object -ExpandProperty name ) -join "`n"
   $acccept1= (Get-DistributionGroup $dl.Name | Select-Object -ExpandProperty AcceptMessagesOnlyFrom) -join "`n"
   $acccept2= (Get-DistributionGroup $dl.Name | Select-Object -ExpandProperty AcceptMessagesOnlyFromDLMembers) -join "`n"
   $acccept3= (Get-DistributionGroup $dl.Name | Select-Object -ExpandProperty AcceptMessagesOnlyFromSendersOrMembers) -join "`n"
   $memberof =Get-ADGroup -Identity $dl.DistinguishedName -Server "" -Properties memberof |select @{n=’MemberOf’; e= { ( $_.memberof | % { (Get-ADObject $_).Name }) -join “,” }} | Sort-Object -Property Name
 
 
    $reportObj = New-Object PSObject
    $reportObj | Add-Member NoteProperty -Name "Name" -Value $Dl.Displayname
    $reportObj | Add-Member NoteProperty -Name "PrimarySmtpAddress" -Value $dl.PrimarySmtpAddress
    $reportObj | Add-Member NoteProperty -Name "OrganizationalUnit" -Value $dl.OrganizationalUnit
    $reportObj | Add-Member NoteProperty -Name "GroupType" -Value $dl.GroupType
    $reportObj | Add-Member NoteProperty -Name "RequireSenderAuthenticationEnabled" -Value $dl.RequireSenderAuthenticationEnabled
    $reportObj | Add-Member NoteProperty -Name "MemberCount" -Value $count
    $reportObj | Add-Member NoteProperty -Name "HiddenFromAddressListsEnabled" -Value $dl.HiddenFromAddressListsEnabled
    $reportObj | Add-Member NoteProperty -Name "ManagedBy" -Value $dl.ManagedBy.name
    $reportObj | Add-Member NoteProperty -Name "DistributionGroupMember" -Value $Members
    $reportObj | Add-Member NoteProperty -Name "AcceptMessagesOnlyFrom" -Value $acccept1
    $reportObj | Add-Member NoteProperty -Name "AcceptMessagesOnlyFromDLMembers" -Value $acccept2
    $reportObj | Add-Member NoteProperty -Name "AcceptMessagesOnlyFromSendersOrMembers" -Value $acccept3
    $reportObj | Add-Member NoteProperty -Name "MemberOf" -Value $memberof
 
 
 
 

    $report += $reportObj
 
}
$report | Export-Csv
Exchange Server Management
Exchange Server Management
Exchange Server: A family of Microsoft client/server messaging and collaboration software.Management: The act or process of organizing, handling, directing or controlling something.
7,345 questions
0 comments No comments
{count} votes

Accepted answer
  1. KyleXu-MSFT 26,206 Reputation points
    2021-03-11T02:30:57.187+00:00

    @Austin Sundar

    Here is it:

    $report = @()  
    $Dls = Get-DistributionGroup  
    foreach ($dl in $dls) {  
        $count = (Get-DistributionGroupMember $Dl).Count  
        $Members = (get-distributiongroupmember $dl.name | select-object -ExpandProperty name ) -join "`n"  
        $acccept1 = (Get-DistributionGroup $dl.Name | Select-Object -ExpandProperty AcceptMessagesOnlyFrom) -join "`n"  
        $acccept2 = (Get-DistributionGroup $dl.Name | Select-Object -ExpandProperty AcceptMessagesOnlyFromDLMembers) -join "`n"  
        $acccept3 = (Get-DistributionGroup $dl.Name | Select-Object -ExpandProperty AcceptMessagesOnlyFromSendersOrMembers) -join "`n"  
        $memberof = (Get-ADGroup $dl.Name -Properties memberof).MemberOf  
        
        
        $reportObj = New-Object PSObject  
        $reportObj | Add-Member NoteProperty -Name "Name" -Value $Dl.Displayname  
        $reportObj | Add-Member NoteProperty -Name "PrimarySmtpAddress" -Value $dl.PrimarySmtpAddress  
        $reportObj | Add-Member NoteProperty -Name "OrganizationalUnit" -Value $dl.OrganizationalUnit  
        $reportObj | Add-Member NoteProperty -Name "GroupType" -Value $dl.GroupType  
        $reportObj | Add-Member NoteProperty -Name "RequireSenderAuthenticationEnabled" -Value $dl.RequireSenderAuthenticationEnabled  
        $reportObj | Add-Member NoteProperty -Name "MemberCount" -Value $count  
        $reportObj | Add-Member NoteProperty -Name "HiddenFromAddressListsEnabled" -Value $dl.HiddenFromAddressListsEnabled  
        $reportObj | Add-Member NoteProperty -Name "ManagedBy" -Value $dl.ManagedBy.name  
        $reportObj | Add-Member NoteProperty -Name "DistributionGroupMember" -Value $Members  
        $reportObj | Add-Member NoteProperty -Name "AcceptMessagesOnlyFrom" -Value $acccept1  
        $reportObj | Add-Member NoteProperty -Name "AcceptMessagesOnlyFromDLMembers" -Value $acccept2  
        $reportObj | Add-Member NoteProperty -Name "AcceptMessagesOnlyFromSendersOrMembers" -Value $acccept3  
        $reportObj | Add-Member NoteProperty -Name "MemberOf" -Value $memberof    
              
        $report += $reportObj    
    }  
    $report  
    

    Here is the result that tested for one distribution group:
    76536-qa-kyle-10-26-19.png

    You could choose the format that you want:
    76480-qa-kyle-10-29-22.png


    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


0 additional answers

Sort by: Most helpful