从Microsoft Exchange转储所有电子邮件元数据

我试图从假设的Exchange服务器上获取以下信息的转储:

  • 电子邮件发件人
  • 电子邮件收件人
  • 发送时间

我在这里是一个真正的Exchange新手,但是我发现这篇文章说这些信息可能在事务日志中。 我还发现了一些执行search的PowerShell脚本,但没有任何我想要的。

我没有问题parsing明文,以获得这些信息,如果它在日志中,但我不知道在哪里看!

有了这么less的信息,不容易给你一个完整的select在这里。 然而,你可以做的是使用PowerShell和search消息跟踪日志文件。 例如

Get-MessageTrackingLog -Start (Get-Date).AddHours(-1) | Where-Object {$_.recipients -like "*@gmail.com"} 

哪个会在过去一小时内显示gmail.com用户的所有信息。

更多信息可以在Microsoft文档里find 。

因此,您可能会从以下方面着手:

 Get-MessageTrackingLog -Start (Get-Date).AddHours(-1) | FT Recipients, TimeStamp, MessageSubject > "C:\temp\MySearchResult.txt" 

要么

 Get-MessageTrackingLog -Start "2008-12-09" | Select Recipients, Timestamp, Sender, @{Name='Recipients';Expression={[string]::join(";", ($_.Recipients))}} | Export-CSV c:\Temp\MailStat.csv 

只是给你一些select。

请注意,结果是有限的前1000个事件写在这里 ! 所以你需要指定一些较小的时间框架来导出一切。