咱們在作Exchange Server平常管理的時候,常常會遇到這樣的狀況,老闆想知道每一個郵箱天天發送了多少封郵件?咱們的服務器一天或者一個月發送多少郵件?又或者是服務器一天有多少發送失敗的郵件,發往某一個地址有多少數量?這些在Exchange圖形化管理中都是沒法實現的,或者須要藉助第三方工具來實現。下面咱們介紹一下Exchange強大的Powershell管理,幾個命令就解決了以上問題。shell
一、統計一臺HUB服務器上一個時間段內的發送狀況:服務器
[PS] C:\Windows\system32>Get-MessageTrackingLog -ResultSize unlimited -Start 「07/01/2012″ -End 「07/13/2012″ -EventId 「send」 -Server 「srvbj06″ |Measure-Objectide
ResultSize unlimited參數爲顯示全部。工具
加上Measure-Object爲計算對象的數字屬性以及字符串對象總和。去掉則會逐條顯示。spa
–Eventid可包括BadMail、Defer Deliver、DSN、Expand、Fail、PoisonMessage、Receive、Redirect、Resolve、Send、Submit 和 Transfer。爲對郵件狀態進行檢索。3d
好比下面使用Fail參數來檢索一個時間段內發送失敗的郵件數量:orm
[PS] C:\Windows\system32>Get-MessageTrackingLog -ResultSize unlimited -Start 「07/01/2012″ -End 「07/13/2012″ -EventId 「Fail」 -Server 「srvbj06″ |Measure-Object對象
二、查詢某個郵箱的發送狀況:blog
[PS] C:\Windows\system32>Get-MessageTrackingLog -ResultSize unlimited -Start 「07/01/2012″ -End 「07/13/2012″ -EventId 「send」 -Sender 「luochen@bpdi.com.cn」 |Measure-Object排序
下面在看看這個郵箱哪些郵件發送失敗了
[PS] C:\Windows\system32>Get-MessageTrackingLog -ResultSize unlimited -Start 「07/01/2012″ -End 「07/13/2012″ -EventId 「FAIL」 -Sender luochen@XX.com
三、按郵箱排列出一個時間段內發送狀況:
加上Group-Object命令進行分組統計這裏咱們計算Count的值,而後在把Count進行分組,在使用select進行篩選。
[PS] C:\Windows\system32>Get-MessageTrackingLog -ResultSize unlimited -Start 「07/01/2012″ -End 「07/13/2012″ -EventId 「send」 |Group-Object -Property:sender |select name,count
上面已經統計出了每一個郵箱的發送狀況,下面在加上sort對count數值進行一個排序,這樣就能得出哪一個郵箱發得最多了。
[PS] C:\Windows\system32>Get-MessageTrackingLog -ResultSize unlimited -Start "07/01/2012" -End "07/13/2012" -EventId 「send」 |Group-Object -Property:sender |Select name,count|sort count -Descending
get-messagetrackinglog -Recipients:luke.zhang@infowarelab.com -Sender "linda.lin@infowarelab.com" -Server "cas10.hangxun.com.cn" -MessageSubject "新員工入職安排" -Start "2015/7/1 15:30:00" -End "2015/12/15 15:40:00"