Exchange2010用户邮箱使用空间统计

近期由于公司领导要求统计邮箱数据库当中用户邮箱空间使用大小,需要对用户邮箱进行使用空间统计,对超出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支持帮助处理。
联系方式: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)

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


当前文章:Exchange2010用户邮箱使用空间统计
链接地址:http://myzitong.com/article/cjhhgc.html