我不知道你是否可以帮助我。我正尝试使用Exchange中的get-messagetrackinglog工具提取已发送电子邮件给自己(从domain1到domain2)的收件人列表。我的小脚本似乎与发件人的部分工作正常,但经过几天的思考,我无法使其与收件人一起工作。我怀疑这是因为每个电子邮件可能有很多收件人(而不是只有一个发件人),这需要将一个数组分配给收件人变量,但是对于PowerShell而言是新的。我不完全知道如何执行此操作,以及如何操作通过管道。逻辑如下:Powershell与Get-MessageTrackingLog(Exchange 2007)
a)我想使用split命令来隔离所有发件人(使用空格分隔符)并将它们取到数组中,然后将发件人和收件人的第一部分地址从使用@ delimiter和 的域名c)比较我获得的第一部分电子邮件地址(从adam @ domain1和adam @ domain2返回的值)。 d)如果它们匹配 - 我需要将电子邮件结果导出到.csv。
我有这么远:
GET-MessageTrackingLog -server “pdnaex1” -EventID “SEND” - 启动 “01/10/2010 00:00:00” 末端“31/10/2010 23 :59:59“-resultsize Unlimited |其中{[string] $ .sender.split(“@”)[0] -like [string] $ .recipients.split(“@”)[0]} |选择时间戳,@ {Name =“Sender”; Expression = {$ .sender}},@ {Name =“Recipients”; Expression = {$ .recipients}},messagesubject | export-csv X:\ XXX.csv
我知道上面是不正确的,但希望我明确我的问题。
任何帮助,非常感谢。我怀疑我的脚本失败,因为我无法填充收件人数组,并将发件人的值与该数组中的每个条目进行比较,但我无法解决如何执行该操作。
太棒了,它的工作!没有意识到这将是那么容易...... :)非常感谢它背后的解释! – adomce 2011-01-13 17:01:20