微软ExchangeServer 这个产品相信大家已经很熟悉了,包括基本的部署、功能配置、高可用解决方案等等这些资料在网上也比较容易找到,也有很多大牛们的博客上也写了很多详细的配置博文。但是我发现在一些日常管理中管理控制台上没法实现的功能只能通过Exchange PowerShell 去实现。在Exchange邮件数量日益增长的情况下,很多公司目前的存储空间已经将近不足了,在跟老板申请增加存储空间经费最好的方式就是用数据说话了。本文档中我列举几个经典案例跟大家详细的分析,让大家跟老板提需求时做到有理有据。
案例一:枚举所有邮箱大小并导出到文件
-
枚举所有用户邮箱大小及邮件数
Get-Mailbox –ResultSize Unlimited| Get-MailboxStatistics | ft Displayname,ItemCount,TotalItemSize
注:ResultSize 参数指定要返回的最大结果数。如果要返回与查询匹配的所有邮箱,则使用 unlimited 作为此参数的值。默认值为 1000。
-
可以针对单个OU中的用户,统计邮箱大小及邮件数量
Get-Mailbox -OrganizationalUnit iLync|Get-MailboxStatistics | ft Displayname,ItemCount,TotalItemSize
-
可以针对特定数据中的所有用户统计邮件信息,如下:
Get-Mailbox -Database SalesDB | Get-MailboxStatistics | ftDisplayname,ItemCount,TotalItemSize
-
以上的邮箱大小都是随机来排序的,在公司的企业环境中用户数非常多,如果这样列出来分析数据非常麻烦,再者若将这数据汇报给老板,恐怕只得挨骂了。接下来看看我们如何实现按照邮箱情况进行排序,如下:
-
根据邮件数量从大到小进行排序
Get-Mailbox–ResultSize Unlimited | Get-MailboxStatistics | Sort-Object ItemCount –Descending | ftDisplayname,ItemCount,TotalItemSize
-
根据邮箱已使用容量进行排序
Get-Mailbox –ResultSize Unlimited | Get-MailboxStatistics |Sort-Object TotalItemSize–Descending | ft Displayname,ItemCount,TotalItemSize
-
将统计数据导出到文件中,只需要在以上的命令中添加“>D:\stats.csv”即可实现。
Get-Mailbox –ResultSize Unlimited | Get-MailboxStatistics |Sort-Object ItemCount –Descending | ft Displayname,ItemCount,TotalItemSize >D:\stats.csv
导出后查看D盘路径下是否已经导出文件了,如下图:
可通过文本或Excel打开该文件,打开后效果如下:
案例二:获取特定时间内用户邮件收发统计
-
统计一个邮箱特定时间段内邮件发送
Get-TransportServer | Get-MessageTrackingLog -ResultSizeUnlimited -Start “10/30/2014” -End “11/06/2014” -Sender "[email protected]"-EventID RECEIVE | ? {$_.Source -eq"STOREDRIVER"} | ft Sender,Recipients,MessageSubject,TimeStamp,@{label=“MessageSize(KB)”;expression={$_.TotalBytes/1KB}}
-
统计一个邮箱特定时间段内邮件接收
Get-TransportServer | Get-MessageTrackingLog -ResultSizeUnlimited -Start “10/30/2014” -End “11/06/2014” -Recipients "[email protected]" -EventID DELIVER | ? {$_.Source -eq "STOREDRIVER"} |ft Sender,Recipients,MessageSubject,TimeStamp,@{label=“MessageSize(KB)”;expression={$_.TotalBytes/1KB}}
细心的朋友应该可以发现我们以上获取的邮件大小的单位都是KB,这统计出来的数据太不直观了。所以我们看看如果显示为MB. 只需修改下面命令中的红色部分即可,如下:
Get-TransportServer | Get-MessageTrackingLog -ResultSizeUnlimited -Start “10/30/2014” -End “11/06/2014” -Recipients "[email protected]" -EventID DELIVER | ? {$_.Source -eq"STOREDRIVER"} | ftSender,Recipients,MessageSubject,TimeStamp,@{label=“MessageSize(MB)”;expression={$_.TotalBytes/1MB}}
通过以上2个案例,大家已经可以统计用户邮箱情况和特定时间用户收发情况了,此时可以根据具体要求对导出的文件做适当的调整。这样大家就可以心有成足的跟老板用数据说话了。希望可以帮到大家,非常感谢大家的关注。