Here are the scripts we are using to monitor Exchange 2007, they were created in Powergadgets creator so there are no out- entries
I have attached a screen shot (it is rather small due to upload restriction)
Chart (Used for monitoring dynamic Exchange SMTP Queues)
get-exchangeserver | where-object {$_.IsHubTransportServer -eq $True} | get-queue | select {$_.Identity.ToString()}, MessageCount
Radial Guage (Used for Mailbox Store size)
$(get-item "\\gimldnexclu01\e$\first storage group\databasefiles\mailboxstore01.edb").Length/1024/1024/1024
Digital Guage (Used for number of maiboxes on Server)
get-mailbox | where-object {$_.ServerName -eq "GIMLDNEXCLU01) } | Group ServerName
Digital Guage (Used for number of active UM Voice & Fax calls)
get-umactivecalls -dialplan gartmore | where-ojbect {$_.CallType -eq "Voice" | select CallType | Group
get-umactivecalls -dialplan gartmore | where-ojbect {$_.CallType -eq "Fax" | select CallType | Group
Digital Guage (Uses for CCR Cluster Copy & Replay queue length)
get-storagegroupcopystatus -server gimldnexclu01 | select replayqueuelength
get-storagegroupcopystatus -server gimldnexclu01 | select copyqueuelength
Digital Guage (Used to display last successful backup of Exchange Store)
get-mailboxdatbase -server gimldnexclu01 -status | select LastFullBackup
Digital Guage (Used for showing the number of "Stopped Exchange" services
$services = test-servicehealth -server gimldnexhub01 | select-object ServicesNotRunning
$No_Of_services = test-servicehealth -server gimldnexhub01 | select-object ServicesNotRunning | group-object
$count = 0
if ($No_Of_services.Count -gt 1 )
{
for ($i = 0; $i -lt [int]$No_Of_services.Count; $i++)
{
foreach ($element in $services[$i].ServicesNotRunning)
{
$count += 1
}
}
$count
}
else
{
$count = 0
foreach ($element in $services.ServicesNotRunning)
{
$count += 1
}
$count
}