繁体   English   中英

使用Powershell列出电子邮件通讯组名称,成员数和电子邮件地址,然后导出到.CSV

[英]Using Powershell to list Email distribution group name, member count and email address then export to .CSV

我需要获得成员数小于或等于1的Exchange通讯组。

我需要的输出是.CSV:

Distributionlistname , membercount , EmailAddress
DLName1, 1, DL1@domain.com
DLName2, 0, DL2@domain.com
DLName3, 0, DL3@domain.com
...

这是我找到的脚本,但是没有像上面这样输出:

Get-DistributionGroup –ResultSize Unlimited | Where-Object { (Get-DistributionGroupMember –identity $_.Name –ResultSize Unlimited).Count -lt 1 } | Select-Object Name -ExpandProperty EmailAddresses | Export-Csv C:\Result.csv

像这样:

$result = @()
Get-DistributionGroup –ResultSize Unlimited | 
    ForEach-Object {
        $memberCount = @(Get-DistributionGroupMember –Identity $_.DistinguishedName –ResultSize Unlimited).Count
        if ($memberCount -le 1) {
            $result += New-Object -TypeName PSObject -Property @{
                'DistributionlistName' = $_.Name
                'MemberCount'          = $memberCount
                'EmailAddress'         = $_.PrimarySmtpAddress
            }
        }
    }

$result | Export-Csv C:\Result.csv -NoTypeInformation -Force

另一种方式(保留单线想法):

Get-DistributionGroup –ResultSize Unlimited | Where-Object { (Get-DistributionGroupMember –identity $_.Name –ResultSize Unlimited).Count -lt 1 } | Select-Object Name,@{Name="EmailAddress";Expression={(Get-DistributionGroupMember –identity $_.Name –ResultSize Unlimited).Count}},PrimarySmtpAddress | Export-Csv C:\Result.csv

但是,由于您两次运行Get-DistributionGroupMember ,所以这可能不是超级有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM