Home Directory Plugins Email and Groupware Microsoft Exchange Exchange 2010 DAG Mailbox check

Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com


Remember Me

Exchange 2010 DAG Mailbox check

Current Version
Last Release Date
Compatible With
  • Nagios 1.x
  • Nagios 2.x
  • Nagios 3.x
  • Nagios XI
  • Nagios Fusion

Help Support Ethan Galstad's New Project:

Help Support Ethan

A Message From The Founder...

As the founder of Nagios, I'm asking for your help in a cause that's dear to my heart.

I'm launching a new project to help better the world by providing the information, ideas, and inspiration that I believe can improve the lives of people everywhere.

I know you're busy managing networks, but I would appreciate it if you would consider liking my Facebook page and showing your support for the content and messages I produce by sharing them with your friends and family.

You can learn more about my project by visiting ethangalstad.me/nagios. Thank you for your time. I wish you all the best in your endeavors, whatever they may be.

- Ethan

Full disclaimer: this is a mish-mash of other scripts and random commands found in forums etc. I tried to find the original authors for credit but was unable. Sorry if some of this script is you and you aren't mentioned!

Use this plugin to check the status of the mailbox copies in your Exchange 2010 DAG. You'll need a proxy host to run your Powershell commands (or they can be run directly from the Exchange server(s)).
More info here: http://www.nsclient.org/nscp/discussion/topic/637

Only parameter you need to pass is the mailbox server name. It will return a warning if the indexstate is damaged on any of your mailbox DBs, or critical if they're unmounted or unhealthy.
Reviews (1)
byrobinp, August 10, 2013
1 of 1 people found this review helpful
There appears to be a syntax error (or at least when executed on my system Server 2008 R2 Exch 2010)

When running on my exchange server, Mounted and Dismounted databases report as OK.

If you change:
if(($state.status -match "Mounted") -or ($state.status -match "Healthy")){
if(($state.status -match '^Mounted') -or ($state.status -match '^Healthy')){


if(($ContentIndexState.status -match "Healthy") -or ($ContentIndexState.status -match "Mounted")){
if(($ContentIndexState.status -match '^Healthy') -or ($ContentIndexState.status -match '^Mounted')){

It then works properly for me.

Other than that great script. Thanks.
Owner's reply

Thanks for that! I'll update the uploaded script with your correction. Cheers.