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

Get-FilteredLogContent.ps1

https://gallery.technet.microsoft.com/Get-FilteredLogContentps1-2513eae4

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

Get-PerfmonSummaryStats.ps1

https://gallery.technet.microsoft.com/Get-PerfmonSummaryStatsps1-73b096e5

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

Add-TransportDatabaseMountPoint.ps1

https://gallery.technet.microsoft.com/Add-TransportDatabaseMountP-f0e559e6

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

Get-ClientsFromRPCClientAccessLogs.ps1

https://gallery.technet.microsoft.com/Get-ClientsFromRPCClientAcc-a62c845a

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.

Get-ExchangeDatabaseUsage.ps1

https://gallery.technet.microsoft.com/Get-ExchangeDatabaseUsageps-61cec9ad

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.

Get-MailboxSizeInventory.ps1

https://gallery.technet.microsoft.com/Get-MailboxSizeInventoryps1-119560bc

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

Get-RemoteExchangeSession.ps1

https://gallery.technet.microsoft.com/Get-RemoteExchangeSessionps-ec575a12

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.

GetTransactionLogStats.ps1

https://gallery.technet.microsoft.com/office/GetTransactionLogStatsps1-3b530ac3

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.

HighItemFolders.ps1

https://gallery.technet.microsoft.com/scriptcenter/42fc40d2-46a8-4e48-b15c-f0ad23357739

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)

https://github.com/PowerShell/xExchange
https://www.powershellgallery.com/packages/xExchange/

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.