Exchange Geek's Weblog

I'm a Geek!

Exchange Server 2010 Checklist

Posted by Milind Naphade on 07/12/2011

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 Responses to “Exchange Server 2010 Checklist”

  1. […] Vale a pena dar uma olhada aqui: […]

  2. Subodh said

    Getting the below error when running this script.

    new-Item : Cannot bind argument to parameter ‘Path’ because it is an empty string.
    t C:\Users\User\Desktop\Exchange-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

  3. 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.

  4. Subodh said

     Thanks Milind !!!

    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.

  5. Glad that it worked for you. Thanks for the suggestion and feedback both. I will surely incorporate your suggestion in next version of it. – Milind Naphade

Sorry, the comment form is closed at this time.

%d bloggers like this: