Exchange 2010 邮箱数据库大小

Exchange 2010 邮箱数据库统计信息处理数据库大小问题
1.Exchange数据库 EDBFile 大小
2.数据库空白
3.项目总大小 (不包括垃圾站的邮箱大小)
4.垃圾站大小 (邮箱垃圾站大小)
5.主动邮箱数
6.断开连接的邮箱数
此脚本有助于查询 Exchange 2010 邮箱数据库,并生成一份报告和提供上述的信息在表中嵌入的电子邮件。

<#-------------------This Script Queries Exchange 2010 Mailbox Databases and Gathers Information about Database,Server,EDB File Size,WhiteSpace,ConnectedMailboxes,DisconnectedMailboxes,Mailbox Size, Dumpster Size #>
$Global:Report = @()
$Global:DatabaseInfo = @()

#---------------------
#        Vars
#---------------------
$Global:Today       = Get-Date -format G
$Global:Body        = ""
$Global:Subject     = "Exchange 2010 - Mailbox Database Statistics - $Global:Today"
$Global:From        = "MailboxStatistics@domain.com"
$Global:Recipient  = "Pavan.Maganti@excollab.com"
$Global:SMTPserver  = "EXHUB.EXCOLLAB.COM"
$CRLF           = "<p><o:p>&nbsp;</o:p></p>"

#--------------------------------------------------------------
#                       Utility Routines
#--------------------------------------------------------------
#---------------------------------------
#              HTML Header
#---------------------------------------
Function Style ($Color)
{
    $h = "<style>"
    $h = $h + "BODY{background-color:white; font-family: Arial; font-size: 10pt;}"
    $h = $h + "TABLE{border- 1px;border-style: solid;border-color: black;border-collapse: collapse; text-align: center;}"
    $h = $h + "TH{border- 1px;padding: 0px;border-style: solid;border-color: black;background-color: $Color}"
    $h = $h + "TD{border- 1px;padding: 0px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
    $h = $h + "</style>"
    return $h
}

Function SendMail ()
{
"Sending Message To $Global:Recipient"
send-mailmessage -Subject $Global:Subject -To $Global:Recipient -From $Global:From -Body $global:body -SmtpServer $Global:SMTPserver -bodyashtml  
}

Function GetDatabaseStatistics($List)
{
"+++Processing the DC1 Mailbox Databases"
foreach($Database in $List)
{
if(!$List)
{
"+++No Objects to Process"
Continue
}
$DBComb = ""|Select Database,Server,'Size (GB)','WhiteSpace (GB)','Total Items(GB)','DB Dumpster(GB)',ActiveMBX,DisconnectedMBX
$DBName = $Database.Identity
$DBComb.Server     = [String]$Database.MountedOnServer.Split(".")[0]
$DBComb.Database = $DBName
$DBComb.'Size (GB)' = $("{0:N2}" -f ($Database.DatabaseSize.ToBytes()/1GB))
$DBComb.'WhiteSpace (GB)' = $("{0:N2}" -f ($Database.AvailableNewMailboxSpace.ToBytes()/1GB))
$ItemSum = (Get-Mailboxstatistics -Database $DBName | %{$_.TotalItemSize.Value.ToBytes()} | Measure-Object -sum).sum
$ItemSum = $("{0:N2}" -f ($ItemSum/1GB))
$DeletedSum = (Get-Mailboxstatistics -Database $DBName | %{$_.TotalDeletedItemSize.Value.ToBytes()} | Measure-Object -sum).sum
$DeletedSum = $("{0:N2}" -f ($DeletedSum/1GB))
$DBComb.'Total Items(GB)' = $ItemSum
$DBComb.'DB Dumpster(GB)' = $DeletedSum
$ActiveMBXCount = Get-MailboxStatistics -Database $DBName |Where {$_.DisconnectDate -eq $Null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
$DisconnectedMBXCount = Get-MailboxStatistics -Database $DBName |Where {$_.DisconnectDate -ne $Null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
$DBComb.ActiveMBX = $ActiveMBXCount.Count
$DBComb.DisconnectedMBX = $DisconnectedMBXCount.Count
$Global:DatabaseInfo += $DBComb
}
}

Function Report()
{
    $h1          = Style white
    $h2          = Style green
    $h3          = Style red
    $h4          = Style yellow
    $Ha          = $Global:DatabaseInfo | ConvertTo-HTML -head $h1 -body "<H3>Mailbox Database Statistics</H3>"
    $Global:Body = ($CRLF + $Ha) | Out-String
    SendMail
}

#------------------#
#        MAIN       #
#------------------#
"+++Getting List of Exchange 2010 Mailbox Databases "
$DatabasList = Get-MailboxDatabase -Status | Where {$_.ExchangeVersion -eq "0.10 (14.0.100.0)"} | Sort identity | Select Identity,AvailableNewMailboxSpace,DatabaseSize,MountedOnServer,EDBFilePath

GetDatabaseStatistics $DatabasList
"+++Generating Html Report..."
Report

原文地址:https://www.cnblogs.com/victor0/p/13526744.html