Powershell

獲取發送到特定電子郵件地址而不是郵箱(別名)的所有電子郵件

  • May 25, 2016

我想查看發送到特定電子郵件地址的所有電子郵件,而不是帶有所有別名的完整郵箱。

例如,如果 bob@example.com 是主電子郵件地址,而 bob@example2.com 是別名,我只想查看發送到 bob@example2.com 的消息。

Messagetrackignlog 似乎帶回了發送到兩個別名的所有電子郵件。

我正在使用 Exchange 2010 和 O365,

謝謝

因此,您需要使用 Exchange Powershell Get-MessageTrackingLog cmdlet。https://technet.microsoft.com/en-us/library/aa997573%28v=exchg.160%29.aspx

但是你想要做的不在官方文件中。

對於本地 Exchange 伺服器

這是您要執行的命令。https://technet.microsoft.com/en-us/library/aa997573%28v=exchg.160%29.aspx

Get-MessageTrackingLog -Recipients bob@example2.com | where {($_.EventId -eq "RECEIVE")}

這將為您提供 bob@example2.com 收到的電子郵件。如果電子郵件同時發送至 bob@example2.combob@example.com,那麼您可能會在收件人列中看到這兩個電子郵件地址。

您還可以使用下一個命令顯示郵箱(主電子郵件地址)中的所有電子郵件,然後選擇發送到輔助電子郵件地址的郵件。這樣做應該會顯示與第一個命令相同的電子郵件列表,但可用於驗證您是否看到了正確的電子郵件。

Get-MessageTrackingLog -Recipients bob@example.com | Where {($_.EventId -eq "RECEIVE") -and ($_.Recipients -eq "bob@example2.com")}

上面的命令將在郵箱 bob@example.com 上的日誌中搜尋收到的電子郵件,他們只選擇發送到 bob@example2.com 的電子郵件。

線上交流

您需要做的第一件事是將遠端 PowerShell 連接到 Exchange Online。

這是您要執行的命令。https://technet.microsoft.com/en-us/library/jj200704%28v=exchg.160%29.aspx

Get-MessageTrace -RecipientAddress bob@example2.com -Status Delivered

如果您有任何其他問題,請告訴我。

引用自:https://serverfault.com/questions/777473