我们正在使用Exchange 2010.我想检索工作场所中所有用户发送的总电子邮件和收到的电子邮件的列表,为期30天。 该列表应该包含所有用户的姓名,然后是发送和接收电子邮件的总数。
我已经尝试了下面的示例代码,并试图改变这个无济于事。
Get-MessageTrackingLog -Recipients [email protected] -start “10/22/2011 00:00:00” -end “11/21/2011 11:59:00” -EventId "receive" | measure-object
Get-MessageTrackingLog -sender [email protected] -start “10/22/2011 00:00:00” -end “11/21/2011 11:59:00” -EventId "send" | measure-object
“默认情况下,任何邮件跟踪日志文件的最大使用期限为30天” – 除非您更改了邮件跟踪日志的默认值,否则您不太可能从那里获得一年前的数据(除非您几乎没有邮件每个日志文件限制的10 MB在过去没有超过30天)。
如果您需要这种types的数据,请按照文档中的说明更改日志的最大年龄/目录大小限制。
还有一点是,跟踪日志不包含用户信息 – 它只包含发件人和收件人 – 可能映射到您的基础架构的实际用户。
除此之外,您可以将Get-MessageTrackingLog的结果传递给用于分组和计数的group-object 。 对于发件人分组,这将是相当微不足道的:
Get-MessageTrackingLog -start “10/22/2011 00:00:00” -end “11/21/2011 11:59:00” | group-object -Property Sender
Get-MessageTrackingLog返回的“收件人”字段是多值的 – 也就是说可以包含多个收件人。 预先Select-Object -ExpandProperty帮助在这里:
Get-MessageTrackingLog -start “10/22/2011 00:00:00” -end “11/21/2011 11:59:00” | select-object -ExpandProperty Recipients | group-object
结果集看起来有点像这样:
Count Name Group ----- ---- ----- 44 [email protected] {[email protected], [email protected], ...} 11 [email protected] {[email protected], [email protected], ...} 36 some.address@foreigndo... {[email protected], some.address@for...} [...]
不知道你在找什么(仍然),因为我不确定你对这个问题的看法,以及这些评论对你有多大帮助,但是,下面的脚本帮助我一路:
http://gallery.technet.microsoft.com/office/f2af711e-defd-476d-896e-8053aa964bc5