Exchange Environment Report 1.5.3 released

I’ve had a couple of bugs reported in version 1.5 that needed some quick attention, so I’m pleased to release version 1.5.3.

Fixes in this version

  • Per-Server Mailbox count could show incorrectly in certain cases. This appears to be due to a known bug in Get-Mailbox where the ServerName is not always valid. A workaround has been implemented in the script.
  • Exchange 2003 and earlier server information would not show more than one server. Due to a last minute change in the way the script stores information about pre-Exchange 2007 servers this bug got through testing. A fix has been implemented.

No new features this time around, but if you missed the 1.5 release post, check it out here. As always comments and suggestions are welcome either in the comments or via email.

Download the new version from the original article here…

24 thoughts on “Exchange Environment Report 1.5.3 released

  1. Pingback: Script: check what version of Exchange 2010 you are running

  2. Hello, and a BIG Thank you for your script

    To make the scheduled task working (without security warning)

    1. Set-executionpolicy unrestricted
    2. Make a new copy of your great script, as yours is/will be tagged “from internet”

    Scheduled Task :

    Command : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

    Argument : -command “. ‘D:\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1’; Connect-ExchangeServer -auto;C:\Get-ExchangeEnvironmentReport.ps1 -HTMLReport c:\ExchReport.html -SendMail:1,”

  3. Hi Steve,

    Thanks for the quick response and consideration of my previous request.

    I have another question that someone may or maynot have been asked in the past.

    I know your script gives a good ballpark figure of whitespace. Any chance of getting a version of your script that reads whitespace based on Event logs. I know its time consuming to have the script read thru all event logs and do its calculations but it would be a great optional alternative for those that have Exchange 2007 server and would like to have the exact whitespace information.

    Thanks again I appreciate the time taken in answering my question(s).


    • Hi Juan,

      The event log method is the method I will take – I think I will attempt to get it from the event log and if it fails, the script will failover to the current method with a marker to say it’s an estimate. As the estimate can be way out I agree it needs to be accurate.


  4. Hi Steve,

    Thank you so much for this very handy and useful script.

    Since you are from time to time updating this script I will like to request a few additional features to your script. It would be great to see the dumpster size (TotalDeletedItemSize) of each mail database, Free Diskspace per server (customizable to choose either C: or another drive) on the TOP Blue section, Number of storage groups per exchange server (2007 feature) TOP Blue section and Next to Average mailbox size – It would be to great to have the Total size of the mailbox. Could you let me know any additions interest you?

    Once Again, I’d like to thank you for sharing this amazing script and I am planning on implementing it in our large Exchange 2007 environment. It works great as is. I’m looking forward to your next update.


    • Hi Juan,

      I will have a look at adding some of these – the Dumpster Size and Total Size should be straighforward as these are already calculated in the script, just not displayed.

      I’ll have a think about the where free space could go – it is shown on a DB level, just not for the server itself. I’ll also think where the storage group would be appropriate to display.


  5. Hi,

    I checked the real edb files and the results which script generates, there are nearly 1-1,5 gb difference.
    Also in my CCR environment the whitespaces calculated for db’s are wrong. I began to think it shows 2x more than the actual whitespaces.

    • Hi Evren,

      I will investigate the first issue – it uses WMI to directly examine the size, so it should be correct.

      The method to calculate the whitespace will be altered in either the next version or version after – it shouldn’t be 2 x more but the method used is a guess rather than the actual values reported in the event log of the Exchange Server. I’ll look at pulling it out from the event log in the first instance in future.


  6. Pingback: Script: check what version of Exchange 2010 you are running - Exchange 2010 - Pro-Exchange

  7. Hi Steve,

    Great script, has been very usefull.

    I get an error when trying to create the schedule (ERROR: Value for ‘/TR’ option cannot be more than 261 character(s)), any help on this would be appreciated. Thanks again..


    • Hi Jorge,

      This is a known issue if you use a long path. If you are having trouble, try using a directory close to C:\ like c:\report and changing the script name to Get-EER.ps1.

      I will look at solving this in a future update.


  8. Steve,

    I’m receiving this error when running this script in our environment:

    Cannot convert value “4804054136” to type “System.Int32”. Error: “Value was either too large or too small for an Int32.

    At C:\Get-ExchangeEnvironmentReport.ps1:188 char:55
    + $MailboxStatistics | %{ $MailboxDeletedItemSizeB+= <<<< $_.TotalDeletedItemSizeB }
    + CategoryInfo : NotSpecified: (:) [], RuntimeException
    + FullyQualifiedErrorId : RuntimeException


  9. In my environment 8 2003 servers, but in the report i see only 1 server.

    script generates an error 7 times:

    The ‘+=’ operator failed: Item has already been added. Key in dictionary: ‘OSVersion’ Key being added: ‘OSVersion’.
    At C:\Get-ExchangeEnvironmentReport.ps1:832 char:54
    + $ExchangeEnvironment.Pre2007[“Pre 2007 Servers”]+= <<<< $ExSvr
    + CategoryInfo : InvalidOperation: (System.Collections.Hashtable:PSObject) [], RuntimeException
    + FullyQualifiedErrorId : OperatorFailed

  10. Pingback: Generate Exchange Environment Reports using Powershell

Comments are closed.