我有一个客户想要挖掘他们的MS Exchange数据以捕获所有传入的电子邮件地址(和传出)。 Outlook不是一个选项,我们尝试添加联系人,但我们需要一个不同的解决方案。
我知道我们可以导出所有邮箱smtp地址 - 但我们不需要..当新电子邮件进入特定邮箱时,我们想收获它。显然,我们只会为特定用户执行此操作,以免我们将服务器带到膝盖上。
我们不想使用Outlook 。相反,我们需要一个服务器端解决方案,Powershell等,它导出为CSV以进行后期处理。我们也不希望它成为任何归档过程的一部分(除非它实际上没有完成归档过程 - 不是我的规则,客户端......)
使用Exchange 2007 - 但宁愿转向2010年等。
有没有办法通过powershell将这些外部地址导出到csv文件,每晚(如果不是每周),对于特定或所有邮箱? (GUI也不是一个选项)......
答案 0 :(得分:0)
您可以使用Set-TransportServer
(在集线器传输服务器或边缘传输服务器上)或Set-MailboxServer
(在邮箱服务器上)启用(默认情况下已完成)邮件跟踪,具体取决于您正在进行的服务器,如this Microsoft article中的解释。
然后你可以查看C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking
目录。
在服务器端,您可以使用以下方式将此文件作为CSV文件读取:
import-csv MSGTRK20130627-1.LOG -Header date-time,client-ip,client-hostname,server-ip,server-hostname,source-context,connector-id,source,event-id,internal-message-id,message-id,recipient-address,recipient-status,total-bytes,recipient-count,related-recipient-address,reference,message-subject,sender-address,return-path,message-info,directionality,tenant-id,original-client-ip,original-server-ip,custom-data
我刚刚在第四行找到了标题,你必须忽略前四行。