通讯组中的已发送邮件的 Exchange 2010 Cmdlet

通讯组中的已发送邮件的 Exchange 2010 Cmdlet

这是我所处的场景,我不知道如何以正确的方式实现这一点。

我正在寻找一种语法,它可以为我提供用户当天已“发送”的电子邮件的统计信息。

我想要了解特定通讯组的所有用户当天发送的电子邮件的信息。

我尝试了以下方法但无济于事。Get-Mailbox | Get-MailboxFolderStatistics -FolderScope SentItems | Where {$_.ItemsInFolder -gt 0} | -Start "06/14/2012 9:00AM" -End "06/14/2012 5:00PM" | Sort-Object -Property ItemsInFolder -Descending | select-object Identity,ItemsInFolder | export-csv c:\test.txt

Get-MessageTrackingLog -Start "06/14/2012 9:00AM" -End "06/14/2012 5:00PM" -Sender "" | measure-object - 这个只对指定的用户有效,但我需要检查整个组。

如果有人能帮助我。谢谢!

答案1

尝试一下这个脚本。它从分发组中抓取成员 SMTP 地址,并根据邮件跟踪日志运行它们,以获取每个成员电子邮件地址的时间范围计数:

Import-Module C:\Temp\Exchange.psm1
$array = @()
$emails = Get-DistributionGroupMember "<group name>" | % {$_.primarysmtpaddress}
$start = "7/11/2012 9:00:00 AM"
$end = "7/11/2012 5:00:00 PM"
ForEach ($email in $emails) {
    $count = get-messagetrackinglog -Sender $email -EventID "SEND" -Start $start -End $end | measure-object | Select Count
    $array += @(,$email,$count)
    }
ForEach($row in $array)
    {  
    Write-Host $row
    }

相关内容