Chinaunix首页 | 论坛 | 博客
  • 博客访问: 488036
  • 博文数量: 158
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 904
  • 用 户 组: 普通用户
  • 注册时间: 2016-10-10 11:17
文章分类

全部博文(158)

文章存档

2018年(74)

2017年(84)

我的朋友

分类: 系统运维

2017-11-16 18:03:33

【摘要】

在企业中经常会需要对邮件收发进行统计和查询用户使用情况,这时利用 PowerShell便可轻松实现多种形式的分类计数。

【正文】

在做邮件收发数量统计之前,首先要确保Exchange启用了邮件跟踪日志(默认是启用的),打开Exchange管理控制台,打开HUB服务器的属性,在【日志设置】选项卡中,确保【启用邮件跟踪日志】前面的勾已经勾选。

 

1、查询发送邮件的总量(一天)

 

Get-ExchangeServer mail* | Get-MessageTrackingLog [-ResultSize unlimited] -Start "12/01/2013 00:00:00" -End "12/02/2013 00:00:00" -EventId send |measure-object

 

Mail*为hub服务器的主机名(通配mail1和mail2)

 

-ResultSize unlimited参数为显示所有,可去掉。

 

-Eventid可包括BadMail、Defer Deliver、DSN、Expand、Fail、PoisonMessage、Receive、Redirect、Resolve、Send、Submit 和 Transfer。

 

加上Measure-Object为计算对象的数字属性以及字符串对象总和。去掉则可以显示明显详情。

image001.jpg

 

2、邮件发送量用户排名(一天)

 

Get-ExchangeServer mail* | Get-MessageTrackingLog [-ResultSize unlimited] -Start "12/01/2013 00:00:00" -End "12/02/2013 00:00:00" -EventId send | Group-Object -Property:sender |select name,count| sort count –Descending

 

Group-Object命令进行分组统计;计算Count的值,然后在把Count进行分组,再使用select进行筛选。

 

sort count -Descending对邮件发送量进行一个降序排序;sort count -Unique对邮件发送量进行一个升序排序。

 

image002.jpg

 

3、查询用户最后登陆时间,并排序

 

Get-ExchangeServer mail* |Get-MailboxStatistics | sort lastlogontime –Descending

 

Get-MailboxStatistics查询用户最后登陆时间。

 

sort lastlogontime –Descending对用户登陆时间进行降序排序。

 

image003.jpg

 

4、查询某个邮箱的发送情况。

Get-ExchangeServer mail* | Get-MessageTrackingLog [-ResultSize unlimited] -Start "12/01/2013 00:00:00" -End "12/02/2013 00:00:00" -EventId send -Sender "a@contoso.com" |measure-object

image004.jpg

 

5、查询内部用户收件总数

 

Get-ExchangeServer mail* | Get-MessageTrackingLog [-ResultSize unlimited] -Start "12/01/2013 00:00:00" -End "12/02/2013 00:00:00" -EventId Receive | Where {$_.Recipients  -like "*@contoso.com"} |measure-object

 

Where {$_.Recipients  -like "*@contoso.com"}对收件人列做一个筛选,筛选出内部用户

 

image005.jpg

 

6、对内部用户按收件数排序

 

Get-ExchangeServer mail* | Get-MessageTrackingLog [-ResultSize unlimited] -Start "12/01/2013 00:00:00" -End "12/02/2013 00:00:00" -EventId Receive| Group-Object –Property:Recipients | Where {$_.Values -like "*@contoso.com"} | Select Values,Count | Sort Count –Descending

 

image006.jpg

 

 

阅读(1674) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~