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

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

我正在尝试从假设的 Exchange 服务器获取以下信息的转储:

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

我是一名真正的 Exchange 新手,但我发现本文这表明其中一些信息可能在事务日志中。我还找到了一些可以进行搜索的 PowerShell 脚本,但没有一个能满足我的要求。

如果这些信息在日志中,我可以毫无问题地解析纯文本来获取这些信息,但我不知道在哪里查找!

答案1

由于信息太少,很难在这里为您提供完整的选项。但是,您可以使用 powershell 并搜索消息跟踪日志文件。例如

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

这将显示 gmail.com 用户过去一小时的所有消息。

更多信息可以在 Microsoft 文档中找到这里

因此你可以从类似这样的内容开始:

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

只是为了给你一些选择。

请注意,结果仅限于前 1,000 个事件,如所述这里!因此,您需要指定一些较小的时间范围来导出所有内容。

相关内容