Exchange 2010 - How to monitor Exchange Health

There are several ways to monitor Exchange Server

In precedent article I mentioned powershell script for that purpose on Exchange 2013 server.

http://www.alessandromazzanti.com/2015/06/exchange-2013-how-to-monitor-it-with.html

1. you can at first remotely execute this commands

Test-Servicehealth
Test-ServiceHealth SERVERNAME
Test-ServiceHealth br-ex2010-mb | ft Role,RequiredServicesRunning -auto

Get-ExchangeServer | Test-ServiceHealth | ft Role,RequiredServicesRunning -auto

Get-MailboxDatabase 
Get-MailboxDatabase -Status | ft name,last* -auto

Get-MailboxDatabaseCopyStatus | fl name, contentindexstate

(Get-DatabaseAvailabilityGroup) | ForEach {$_.Servers | ForEach {Get-MailboxDatabaseCopyStatus -Server $_}}

Test-MapiConnectivity - server SERVERNAME

Test-MailFlow between two databases/servers



2. Generate Health Report for an Exchange Server 2016/2013/2010 Environment



This PowerShell script performs a series of health checks on Exchange Server 2010 and 2013 Database Availability Groups and then outputs the results to screen or HTML email.



https://gallery.technet.microsoft.com/office/Generate-Health-Report-for-19f5fe5f

3. Here they are full Microsoft List scripts:

https://gallery.technet.microsoft.com/site/search?query=exchange%202010%20health%20check&f%5B2%5D.Value=exchange%202010%20health%20check&f%5B2%5D.Type=SearchText&f%5B0%5D.Value=Exchange&f%5B0%5D.Type=RootCategory&f%5B0%5D.Text=Exchange&f%5B1%5D.Value=Exchange2010&f%5B1%5D.Type=SubCategory&f%5B1%5D.Text=Exchange%202010&ac=5

4. Exchange 2010 Health Check

The purpose of this PowerShell script is to send a report on the health of various areas of the Microsoft Exchange 2010 environment.  This script should work with PowerShell 2.0 and later.This script is designed so that it can be run in an automated fashion from a Scheduled Task.

https://gallery.technet.microsoft.com/Exchange-2010-Health-Check-647cd668


<---------->

Consider that these scripts can be scheduled to monitor continuously

005

[update -1]

Test-ReplicationHealth servername

Get-ClientAccessServer | Test-MRSHealth | Fl check,Passed,Identity,IsValid
Get-ClientAccessServer | Test-MRSHealth

Interesting article:

http://www.computerperformance.co.uk/exchange2010/exchange_2010_powershell.htm

[update 2]

http://exchangeserverpro.com/powershell-script-exchange-server-health-check-report/

scheduled task syntax
-command 

"C:\_Script_Monitoring\Test-ExchangeServerHealth_1_0.ps1 -SendEmail -ReportMode -Log"

c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

My scheduled task settings for this script are:

•Run whether user is logged on or not

•Run with highest privileges

•Action: Start a program 

•Program: powershell.exe

•Arguments: 

-command “C:\Scripts\ExchangeServerHealth\Test-ExchangeServerHealth.ps1 -Log -SendEmail”

<-------->

You could be interested to these similar article too:

Exchange 201X- How get all users who have a forwarding email, redirect rule and delegate permission on them mailboxes or Outlook folders

Exchange 2013 - How to monitor it with powershell command

Exchange - Microsoft Exchange Server User Monitor

Exchange 2010 - Poster dell'architettura

Exchange 2010 - How to monitor Exchange Health

Exchange 2010 - How export to pst single mailbox or all mailboxes with single command or powershell command

Exchange 2013 - How to monitor it with powershell command

Exchange 2010 - How to get info on Mobile devices connected via ActiveSync, quarantine any new device and remote Wipe them.

Exchange 2003/2010 - Add a photo to user contact