设为首页 收藏本站
查看: 1228|回复: 0

[经验分享] 统计 Exchange 2010 时间段收发邮件总量

[复制链接]

尚未签到

发表于 2017-12-8 16:53:10 | 显示全部楼层 |阅读模式
  需要统计Exchange服务器在给定时间范围(perWeek 7天,perMonth 30天…perSeason 90天等)收发邮件的总数和总容量大小,以便做成报表提出升级预期。
  解决:统计总数很简单,用命令带上Meansure就可以输出count数量。

#接收就写Receive 发送就写Send
Get-TransportServer | get-messagetrackinglog -Start "2012/4/1 10:42:00" -End "2012/5/1 00:00:00" -EventId Receive | Measure-object
  但是如果要统计容量,就必须取变量,做加权了。在TechNet Gallery上找到了这么一则脚本
  http://gallery.technet.microsoft.com/scriptcenter/ba5bd64d-6025-415a-86ed-2b51f9aabaf0
作用是:This script counts the number of e-mails that are sent and received in your Exchange environment per week, including their total size in MB.
  直接拿来加以改动,得到符合我们需求的脚本,代码如下:

# Script:TotalEmailsSentReceivedPerMonth.ps1
# Purpose:Get the number of e-mails sent and received per week
# Modified Purpose: get the number of e-mails sent and received per 30 days since today before.
# Author:Nuno Mota
# Date:October 2010
# Modify:   Soda
# ModifyDate: June 2014
# From date should be a MONDAY
#$From = Get-Date "06/02/2012"
#$To = $From.AddDays(7)
#the $To date initializes as today‘s date, the $To date minus 30 days gives the $From date.
$From = $to.adddays(-30)
$to = get-date
[Int64] $intTotalSentSize = $intTotalSent = 0
[Int64] $intTotalRecSize = $intTotalRec = 0
Write-Host "From, To, # Sent, Size Sent, # Received, Size Received"
#Do
#{
#Get-ExchangeServer | ? {$_.AdminDisplayVersion -match "8.3" -and $_.IsHubTransportServer -eq $True} | Get-MessageTrackingLog -ResultSize Unlimited -Start $FromSmall -End $ToSmall | ForEach {
Get-TransportServer | Get-MessageTrackingLog -ResultSize Unlimited -Start $From -End $To | ? {$_.MessageSubject -ne "Folder Content"} | ForEach {
# Sent E-mails
If ($_.EventId -eq "RECEIVE" -and $_.Source -eq "STOREDRIVER")
{
$intTotalSentSize += $_.TotalBytes
$intTotalSent++
}
# Received E-mails
If ($_.EventId -eq "DELIVER")
{
$intTotalRecSize += $_.TotalBytes
$intTotalRec++
}
}
# Convert the size to MB and round it
$intTotalSentSize = [Math]::Round($intTotalSentSize/1MB, 0)
$intTotalRecSize = [Math]::Round($intTotalRecSize/1MB, 0)
# Create a TempTo variable as when we are searching the logs we search up to the next day, but we want to print the day before
$TempTo = ($To.AddDays(-1)).ToShortDateString()
$FromSmall = $From.ToShortDateString()
Write-Host "$FromSmall, $TempTo, $intTotalSent, $intTotalSentSize, $intTotalRec, $intTotalRecSize"
# Reset the variables to do another search
#$From = $From.AddDays(7)
#$To = $From.AddDays(7)
#$intTotalSentSize = $intTotalSent = 0
#$intTotalRecSize = $intTotalRec = 0
#}
#While ($To -lt (Get-Date))
  原有的代码也都保留下来,只是注释掉了。
  由于我们要统计今天之前30天的,那么start就是30天之前的日期,to就是今天的日期。
  (开始以为只有增加天数的方法AddDays(),没想到在里头填个负数就变成了减少天数的方法了)
  如果需要统计更多天数的,则直接改adddays()里头的数量。前提是你的MessageTrackingLog保留的时间足够长。
  运行代码后获得的结果如下:
DSC0000.jpg

  配置TrackingLog的方法:http://technet.microsoft.com/en-us/library/aa997984(v=exchg.150).aspx
  当前的服务器我已经修改为保留90天,最大日志总量1.5GB
DSC0001.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-422214-1-1.html 上篇帖子: POJ 1860 Currency Exchange / ZOJ 1544 Currency Exchange (最短路径相关,spfa求环) 下篇帖子: Exchange Pause or stop transport service
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表