Mike Hendrickson’s Scripts and Tools

The following is a list of scripts and tools that Mike Hendrickson has created or collaborated on.

General Windows Server Scripts and Tools


Used to filter out log entries from one or more file paths on one or more target computers.


Used to gather summary statistics of performance counter data from one or more performance monitor .blg files, on one or more computers.Summary statistics for each counter include: Average, Maximum, Minimum, Sum, and Count. Groups and averages related counters into per file, per computer, and all computer groups.

Exchange Server Specific Scripts and Tools


Creates a mount point for the Exchange Transport database, and assigns appropriate permissions for the Exchange Transport Service.


Parses the RPC Client Access logs of one or more Exchange 2010+ servers looking for a specific client operation type, and exports the found results to .CSV. Performs the search of each target computer in parallel. The target computers perform their log search locally, and then return the results to the machine Where-Object the script is executed from. This approach conserves memory on the script computer, and significantly speeds up the collection time.


Gathers usage and consumption statistics on Exchange Database and Mailbox Usage. Statistics focus on categories like mailbox counts, mailbox quotas, mailbox sizes, and database sizes. Each time the script is run, the following information is written to disk: Per Database statistics. Per Mailbox statistics. A database heat map, showing which databases are over or under provisioned. A mailbox move map, showing the required mailbox moves to reduce database heat.


Gets an inventory of the sizes of all mailboxes in an Exchange 2010/2013/2016 environment, and saves the results to .CSV.


Used to establish a Remote PowerShell session to Exchange with the same capabilities as Exchange Management Shell. Exchange Management tools must be installed on the machine using this module.


Used to collect and analyze Exchange transaction log generation statistics. Designed to be run as an hourly scheduled task, on the top of each hour. Can be run against one or more servers and databases.


A script that can analyze folders on all versions, and determine if they were over their limit. It can be used against the entire organization, a single server, or a single database.

xExchange Module for PowerShell Desired State Configuration (Collaboration)

The xExchange module contains many DSC resources for configuring and managing Exchange 2013 and 2016 servers including individual server properties, databases, mount points, and Database Availability Groups.

Comments (0)

Skip to main content