咱们在作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"