Saturday, February 1, 2014

Exchange 2007 Database White Space Report

Hi Readers,
I am sharing a script that we used in our environment for extracting white space information in exchange databases.This script has been modified so that it can be used in any exchange 2007 environment.
Just extract the attached zip, change the email-ids and smtp server name at the end of the script (white_space_report.ps1)
Download the script from below link
http://gallery.technet.microsoft.com/scriptcenter/Exchange-2007-Database-14b8277a
Run the batch file(white_space_report.bat) after that.
You will receive report like below in your email
PowerShell Code:
################################################################################## 
#       Author: Kaustav Samaddar 
#       Reviewer : Vikas SUkhija 
#       Date: 04/05/2013 
#       Modified:01/28/2014 
#       Modificetion: HTML, enviornment independent.. 
#       Description: White space report 
################################################################################## 
##########################Add exchange Shell###################################### 

If ((Get-PSSnapin | where {$_.Name -match "Exchange.Management"}) -eq $null) 
{ 
    Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin 
} 

################################################################################# 

$db=get-mailboxdatabase | measure-object  

$i=0 

$date=(get-date).adddays(-7) 

$server_list=Get-ExchangeServer | where{($_.ServerRole -like "*mailbox*") -and ($_.AdminDisplayVersion -like "*8.3*")} 
$server_list 

$white_space = @() 

################################## loop thru server list.. 

$server_list | foreach-object { 

    $sname = $_ 
       write-host  "processing Server $sname ................MBX DB" -ForegroundColor green 

    $data = @() 

    $record = get-wmiobject -computer $sname -class Win32_NTLogEvent -Filter "logfile = 'application' AND EventIdentifier = 1074136261 AND sourcename = 'MSExchangeIS Mailbox Store'"| select -First $db.count 

        $record | Foreach-object { 

            $row= "" | select Server,Database,WhitespaceinMB,Timegenerated 

            $row.Server=$sname 

            $row.Timegenerated=Get-Date([System.Management.ManagementDateTimeconverter]::ToDateTime($_.TimeGenerated)) 

            $row.Database=$_.insertionstrings[1] 

            $row.WhitespaceinMB=$_.insertionstrings[0] 

            if($row.timegenerated -ge $date){$data+=$row} 

                    } 

    $pf=Get-PublicFolderDatabase -server $sname 

        if($pf -ne $null){ 

        write-host  "processing Server $_ ................PF DB" -ForegroundColor green 

    $record = get-wmiobject -computer $sname -class Win32_NTLogEvent -Filter "logfile = 'application' AND EventIdentifier = 1074136261 AND sourcename = 'MSExchangeIS public Store'"| select -First $db.count| Sort-Object -Property Message 

        if($record -ne $null) { 

            $record | Foreach-object { 

            $row= "" | select Server,Database,WhitespaceinMB,Timegenerated 

            $row.Server=$sname 

            $row.Timegenerated=Get-Date([System.Management.ManagementDateTimeconverter]::ToDateTime($_.TimeGenerated)) 

            $row.Database=$_.insertionstrings[1] 

            $row.WhitespaceinMB=$_.insertionstrings[0] 

            if($row.timegenerated -ge $date){$data+=$row} 

                          } 
                      } 
                           } 

    $datasorted=$data | sort database -unique 

    $white_space+=$datasorted 

    } 

################build html style http://technet.microsoft.com/en-us/library/ff730936.aspx######## 
$a = "" 

$white_space|ConvertTo-HTML -head $a  | Out-File .\white_space.htm 

$message = new-object System.Net.Mail.MailMessage(“donotreply@labtest.com“, "Vikas.sukhija@labtest.com") 
$message.IsBodyHtml = $True 
$message.Subject = "Exchange 2007 database White Space Report" 
$smtp = new-object Net.Mail.SmtpClient(“SMTP SERVER NAME“) 
$body = get-content ".\white_space.htm" 
$message.body = $body 
$smtp.Send($message) 

###############################################################################################

follow me: http://msexchange.me

Regards
Sukhija Vikas

No comments:

Post a Comment