我不知道你是否可以幫助我。我正嘗試使用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