近期由于公司领导要求统计邮箱数据库当中用户邮箱空间使用大小,需要对用户邮箱进行使用空间统计,对超出80%的使用空间的用户,进行邮件通知

#----------------------------------------sent to admin  and sent to users.
$dblist = Get-MailboxDatabase
$smtpServer = "mail.contoso.com"
$smtpUser = "Administrator"
$smtpPassword = "1234546"
#set the addresses
$MailAddress="Administrator@contoso.com"
$MailtoAddress="pengfei@contoso.com"

$userlist = @();

#create the mail message
$mail = New-Object System.Net.Mail.MailMessage
$mail.From = New-Object System.Net.Mail.MailAddress($MailAddress)
$mail.To.Add($MailtoAddress)
#set the content
$mail.Subject = "Q邮箱空间使用情况统计";

foreach($db in $dblist){
$dbName = $db.Name;

$dbInfo = Get-MailboxDatabase $dbName | select IssueWarningQuota;
$dbWQ = $dbInfo.IssueWarningQuota.Value.ToMB();
$uper= $dbWQ * 0.8;
$object_part =  $dbWQ * 0.2;

$alluser=Get-MailboxStatistics -database $dbName |Where-Object {$_.TotalItemSize.Value.ToMB() -ge $uper} | Sort-Object TotalItemSize -Descending | select-object displayname,totalitemsize
$Mailbox = Get-Mailbox -Database $dbName| select-object DisplayName,primarysmtpaddress;

foreach($user in $alluser){
$displayname = $user.DisplayName;
$totalitemsize = $user.TotalItemSize.Value;
$mypriadd= $Mailbox | where-object {$_.DisplayName -eq $displayname;} | select-object primarysmtpaddress;

$mylocal = $mypriadd.PrimarySmtpAddress.Local;
$myadd = $mylocal+"@contoso.com";

$userobject=New-object psobject;
$userobject | Add-Member -membertype noteproperty -Name 用户名      -value $displayname;
$userobject | Add-Member -membertype noteproperty -Name 邮箱已用空间    -Value $totalitemsize;
$userobject | Add-Member -membertype noteproperty -Name 邮件地址    -Value $myadd;
$userlist+=$userobject;

if($mylocal -ne $null){
$mail_user = New-Object System.Net.Mail.MailMessage
$mail_user.From = New-Object System.Net.Mail.MailAddress($MailAddress)
#set the content
$mail_user.Subject = "邮箱空间已不足20%";

#$MailtoAddress_user=$MailtoAddress; #$myadd;
$mail_user.To.Add($myadd)

$EmailbodyHTML_user= "您的邮箱空间不足20%,请及时归档邮件或者联系IT支持帮助处理。<br/> 联系方式:Administrator@contoso.com"; #| Out-String  # ConvertTo-Html | 
$mail_user.Body = $EmailbodyHTML_user;
$mail_user.IsBodyHtml = $true;
#send the message
$smtp_user= New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer;
$smtp_user.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword;
$smtp_user.Send($mail_user);
}
}

}

$EmailbodyHTML=$userlist| ConvertTo-Html | Out-String
$mail.Body = $EmailbodyHTML
$mail.IsBodyHtml = $true
#send the message
$smtp = New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer
$smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword
$smtp.Send($mail)

以上实现了,领导的要求,可以根据自己的实际情况调整相关代码,第一次上传文章,分享知识心得!

Exchange 2010 用户邮箱使用空间统计相关推荐

  1. 管理exchange 2010用户邮箱本地移动请求

    在邮件管理过程中,有些时候我们需要将用户邮箱从一个数据库移动到另外一个数据库,比如我们有可能需要将还原到恢复数据库的邮箱移动到正常使用中的业务数据库中. 移动请求是将邮箱从一个邮箱数据库移动到另一个邮 ...

  2. exchange 服务器设置自动答复,如何让EXCHANGE 2010用户邮箱自动回复每一封邮件。...

    Hi Kevin, 你在那里看到的默认设置,据我所知没有这样的默认设置. 要让邮箱每收到一封邮件都会自动回复,有三种方法: 1. 用Outlook开启Out of office自动回复,假设你用的是O ...

  3. 易宝典文章——如何将PST文件导入到Exchange 2010 的邮箱

    在很多情况下可能管理员需要将某个PST文件中的内容导入到Exchange邮件服务器用户的邮箱中.比如:需要恢复某个用户在某一时刻的邮箱数据状态,或者将用户的邮件数据迁移到当前邮件服务器等. 在早期的E ...

  4. 如何为Exchange 2010 用户添加联系人头像

    在 Exchange Server 2010 和 Outlook 2010 中可以实现为联系人添加头像照片信息,这样可以方便企业中的邮件使用者在查找联系人或收到别人发送的邮件时,更加确定对方的身份,并 ...

  5. Exchange 2010 移动邮箱时提示超过了目标配额

    在使用 new-moveRequest 移动邮箱时,提示超过了目标配额.解决过程如下: 经查看,此邮箱配额为 3.826G ,由于邮箱实际比配额大,因此移动时出现下面的错误 找到该用户,邮箱设置-存储 ...

  6. Exchange 2010 共享邮箱

    最近工作需要,共享了一个公共邮箱service.feedback,并且团队所有成员对该邮箱有管理权限.在EMC中赋予所有团队成员对该邮箱的完全管理权限.几步操作轻松实现,并且在成员outlook客户端 ...

  7. Outlook 2003与Exchange 2010结合使用中可能出现的问题及建议的解决方法

    现在国内企业中大多计算机上安装的Office还停留在2003时代,其中集成的Outlook 2003也大面积的仍在使用着.如果,在此时企业引进了Exchange 2010的邮件服务器,这些Outloo ...

  8. 易宝典文章——如何在Exchange Server 2010 SP1下将用户邮箱导出到PST中

    易宝典:http://support.microsoft.com/kb/2604283/zh-cn 在很多情况下可能管理员需要将Exchange邮件服务器中用户邮箱的数据(邮件)进行导出.比如:需要提 ...

  9. 如何在 Exchange Server 2010 SP1 下将用户邮箱导出到PST中

    本文转自微软帮助与支持社区,感谢原帖作者给我们分享如此实用的技术! 原文地址:http://support.microsoft.com/kb/2604283/zh-cn 在实际操作中我发现了一些小小的 ...

  10. exchange 2010 指定用户邮箱连接CAS服务器

    客户端通过RPC连接邮件前端访问服务器,现在CAS和邮箱角色基本都是分离的.默认情况就是随机的.如果一个CAS服务器的邮箱数目较多,就会出现RPC服务死掉.那么outlook客户端就会出现未响应的状态 ...

最新文章

  1. Tengine AIFramework框架
  2. ubuntu 压缩率最高的软件_不用写采集规则也可以轻松采集网站文章,揭秘一款明泽文章采集软件的工作原理...
  3. 关于Visual C++ 2008中wprintf和wprintf_s输出中文乱码问题
  4. JS第三方中间件的延伸
  5. Python 中print 和return 的区别
  6. sicily 1021. Couples 栈
  7. 关于HttpUtility.UrlEncode,Server.UrlEncode
  8. mysql 数据备份
  9. python画二维温度云图_利用python画出词云图
  10. linux内存管理_架构师必读:Linux 的内存分页管理
  11. 数据结构(三)树、二叉树、最优二叉树
  12. CWMP协议(TR069协议)学习
  13. 我国祖冲之密码算法ZUC128和ZUC256性能测试
  14. UI设计师都在用的4款UI设计软件
  15. 我看到左岸读书上的留言,感觉挺有新意
  16. 幼儿园科学室创设特点
  17. 刺激战场灵敏度怎么调压枪最稳:花了4个小时调的灵敏度,适合所有段位
  18. 杭电一学生还没毕业年薪已过百万,带十几人的研发团队
  19. 【组合数学】指数生成函数 ( 指数生成函数概念 | 排列数指数生成函数 = 组合数普通生成函数 | 指数生成函数示例 )
  20. 服务器开启防火墙后无法登录系统,客户端连不上,服务器防火墙服务启动不了...

热门文章

  1. 全国各省市区城市编码SQL
  2. 基于卷积神经网络的人脸识别
  3. 孙玄吴守星:全方位剖析边缘计算架构设计以及应用实践
  4. 官网jdk8,jdk11下载时需要登录Oracle账号的问题解决
  5. oom killer lmkd killer
  6. 【Qt for Python官方教程】使用pyside6-rcc引入.qrc文件
  7. AlphaGo Zero算法讲解
  8. 蓝牙智能音响测试软件,【天猫精灵蓝牙音箱使用总结】APP|连接|音质|资源|控制_摘要频道_什么值得买...
  9. 总结:如何使用ClearCase进行开发工作
  10. 为大家带来的是C语言入门视频教程