Hi Readers,
Sharing a nice little script that we have written to Monitor Exchange 2010 Journal mailboxes.
Our Goal here is :- if the Messages in the Journal mailboxes increases beyond 15000 messages
than team needs to check what is wrong with Enterprisevault, If journaling services are working fine or not.
Extract the zip file from below link, edit the .ps1 file, define the alert email & mailboxes that needs to be monitored
https://gallery.technet.microsoft.com/scriptcenter/Powershell-to-Journal-57cc1a0c
$email1 = “Vikas@labtest.com”
$from = “Systems.Monitoring@labtest.com”
$smtpserver =”smtp.labtest.com”
$JNLMbx = @(“Journal Archive01″,”Journal Archive02″,”Journal Archive03”,
“Journal Archive04″,”Journal Archive05″,”Journal Archive MP01″,”Journal Archive MP02”,
“Journal Archive MP03″,”Journal Archive MP04″,”Journal Archive MP05″,”Journal Archive MP04″,”Journal Archive MP05”)
Define the threshold for alert
if($itemc -gt “15000”)
Schedule the batch file from task scheduler (we monitor it every hour)
You can find the logging under logs folder, which will log the count of messages when script runs.
################################################################################## # Author:Vikas Sukhija # Reviewer: # Date: 09/02/2014 # Description: Monitor Jopurnal Mailboxes ################################################################################## $date = get-date -format d # replace \ by - $time = get-date -format t $month = get-date $month1 = $month.month $year1 = $month.year $date = $date.ToString().Replace(“/”, “-”) $time = $time.ToString().Replace(":", "-") $time = $time.ToString().Replace(" ", "") $log1 = ".\Logs" + "\" + "JNLCount_" + $date + "_" + $time + "_.log" $email1 = "Vikas@labtest.com" $from = "Systems.Monitoring@labtest.com" $smtpserver ="smtp.labtest.com" $JNLMbx = @("Journal Archive01","Journal Archive02","Journal Archive03","Journal Archive04", "Journal Archive05","Journal Archive MP01","Journal Archive MP02","Journal Archive MP03", "Journal Archive MP04","Journal Archive MP05","Journal Archive MP04","Journal Archive MP05") ##############ADD Exchange Shell ################################################ If ((Get-PSSnapin | where {$_.Name -match "Microsoft.Exchange.Management.PowerShell.E2010"}) -eq $null) { Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 } $JNLMbx | foreach-object { $itemc = (Get-MailboxStatistics $_).itemcount if($itemc -gt "15000") { Write-host "Count for $_ is $itemc" -foregroundcolor Red Add-content $log1 "Count for $_ is $itemc" $subject = "Event Notification : OPEN CRITICAL : Count for $_ is $itemc" $message = new-object Net.Mail.MailMessage $smtp = new-object Net.Mail.SmtpClient($smtpserver) $message.From = $from $message.To.Add($email1) $message.subject = $subject $smtp.Send($message) } else { Write-host "Count for $_ is $itemc" -foregroundcolor Green Add-content $log1 "Count for $_ is $itemc" } } ##################################################################################