Exchange Server 2010 Checklist

Few months ago someone in our discussion group had a requierment of an automated way to make sure that exchange servers health state should be checked automatically and a report should be sent to support team.During the discussion, we recieved a lot of ideas and many sample codes to do so. The largest piece of code was written for Exchange 2007. I perosnally used this script at many customers to automate the daily / hourly checklist part of their operations team but since a lot of them have already upgraded to Exchange 2010 the old script become almost useless due to changes in architecture of components of Exchange Server 2010. With said that, quite a considerable number of modifications were needed in the origional code.

I recently posted the latest version of the script that was customized by me to meet some of exclusive requirements. You can download the script from Microsoft Technet Gallery – Exchange Server 2010 Checklist

Yet, I really wanted to thank the person who wrote this entire stuff. That was really so cool.


  • Provides a detailed report of your Exchange Server 2010 Critical components in an HTML email.
  • Provides color coded statuses so that faulty components can be identified easily.
  • Emails can be sent to multiple people.
  • Script can be scheduled to run using scheduled task.

        -ServerName (required)
                Must be an Exchange 2010 server. This script should be run locally on the mentioned server.

        -Path (required)
                This is the folder identity where the generated report will be saved.

        -CompanyName (required)
                Name of your company E.g. “Contoso Inc.”

        -SMTPServer (required)
                Hub Transport Server name or IP address. Any SMTP relay that can accept the email will also work.

        -From (required)
                Sender’s email address.

        -To (required)
                List of recipient(s). You can pass a comma seperated values here. For more than one recipients use {,}

        -JournalMailbox (optional)
                The mailbox identity to get mailbox statistics.
For many mailboxes use,

Please do provide your feedback in case you liked / disliked it or you would like to see some new features added into it. Download and Enjoy 😉

5 thoughts on “Exchange Server 2010 Checklist”

  1. Getting the below error when running this script.

    new-Item : Cannot bind argument to parameter ‘Path’ because it is an empty string.
    t C:UsersUserDesktopExchange-CheckList.ps1:228 char:45
    if ($ExistFolder -eq $False) {New-Item -path <<<< $Path -name $Month -type directory}
    + CategoryInfo : InvalidData: (:) [New-Item], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.NewI

    1. Subodh, make sure you have mentioned the path in correct format. The -Path parameter accepts the path only in the format “Drive:Folder“. Please notice the back slach after Folder.

      1.  Thanks Miland !!!

        This worked for me, but need some modification on this.

        Like the size should be in MB/GB, and the free space should be in “ % ” also. And if the free space is less than a particular limit, it should be highlighted in RED.

        The “Test replication health” command should also be there to make this script perfect.

Comments are closed.