Quantcast
Channel: Exchange Server 2010 forum
Viewing all articles
Browse latest Browse all 19436

Exchange 2010 Capacity Report

$
0
0

 have inherited a Script which l have changed to include data we require for monthly reporting, however l cant get "Disconnectdate" to populate, everything else is working perfectly. We have a number of mailbox servers running across 2 DAG's. Can anyone point me in the right direction or see what l am doing wrong? Current script below.

$date = date
$day = $date.day
$month = $date.month
$year = $date.year
$filedate = "$day$month$year"
$postsubject = "Exchange 2010 Capacity Report $filedate"
$from = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
$to = @("xxxxxxxxxxxxxxxx@xxxxxxxxxxxxxx")com
$SmtpServer = "XXXXXXXXXXXX" 
$remoteserver = "XXXXXXXXXXXXX"
$scriptlog = "x:\reports\capacity\capacity-script.log"
 . "c:\program files\microsoft\exchange server\v14\bin\connectfunctions.ps1"
 . "c:\program files\microsoft\exchange server\v14\bin\commonconnectfunctions.ps1"
 . c:\migration\scripts\powershell\include\write-log.ps1
 . x:\export-csv2.ps1
 . x:\reports\capacity\create-7zip.ps1
write-log "Exchange 2010 Capacity Report Script" -path $scriptlog -level info

# Connect Remote Powershell Session

$error.clear()
write-log "Connecting Remote Powershell Session" -path $scriptlog -level info
$command = 'C:\Progra~1\Microsoft\Exchan~1\V14\bin\RemoteExchange.ps1'
invoke-expression -command $command
connect-exchangeserver $remoteserver
If ($error) {write-log $error[0] -path $scriptlog -level error}
write-log "Writing headers" -path $scriptlog -level info
$header = "displayname;alias;OU;itemcount;lastlogontime;lastloggedonuseraccount;totalitemsize;database;maxsendsize;maxreceivesize;prohibitsendQuota;prohibitsendreceivequota;disconnectdate"
$header | out-file "e:\reports\capacity\allmailboxstats$filedate.csv"
write-log "Getting Mailbox information" -path $scriptlog -level info
$mailboxes = (get-mailbox -resultsize unlimited | where {$_.exchangeversion -eq "0.10 (14.0.100.0)"})
Write-log "Generating report" -path $scriptlog -level info
foreach ($mailbox in $mailboxes) {
$stats = (get-mailboxstatistics $mailbox -includemovehistory)


# Get Mailbox Stats
$displayname = $stats.displayname
$itemcount = $stats.itemcount
$lastlogontime = $stats.lastlogontime
$lastloggedonuseraccount = $stats.lastloggedonuseraccount
$totalitemsize = $stats.totalitemsize
$database = $stats.database
$disconnectdate = $stats.disconnectdate


# Get General Mailbox info
$ou=$mailbox.organizationalunit.tostring()
$alias=$mailbox.alias.tostring()
$maxsendsize = $mailbox.maxsendsize.tostring()
$maxreceivesize = $mailbox.maxreceivesize.tostring()
$prohibitsendquota = $mailbox.prohibitSendQuota.tostring()
$prohibitsendreceivequota = $mailbox.prohibitsendreceivequota.tostring()


"$displayname;$alias;$OU;$itemcount;$lastlogontime;$lastloggedonuseraccount;$totalitemsize;$database;$maxsendsize;$maxreceivesize;$prohibitsendquota;.$prohibitsendreceivequota;$disconnectdate" | out-file -append "x:\reports\capacity\allmailboxstats$filedate.csv"
$displayname = $null
$itemcount = $null
$lastlogontime = $null
$lastloggedonuseraccount = $null
$totalitemsize = $null
$disconnectdate = $null
$database = $null
$ou=$null
$alias=$null
$prohibitsendquota = $null
$prohibitsendreceivequota = $null
}

#Zip Report

write-log "Zipping up file allmailboxstats$filedate.csv"

create-7zip "e:\reports\capacity\allmailboxstats$filedate.csv" "X:\reports\capacity\allmailboxstats$filedate.zip"
# Email report
$error.clear()
write-log "Emailing report to $to" -path $scriptlog -level info
$sendmail = send-mailmessage -subject $postsubject -from $from -to $to -smtpserver $smtpserver -attachments e:\reports\capacity\allmailboxstats$filedate.zip
If ($error) {write-log $error[0] -path $scriptlog -level error}


Viewing all articles
Browse latest Browse all 19436

Trending Articles