我正在尝试从假设的 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 个事件,如所述这里!因此,您需要指定一些较小的时间范围来导出所有内容。