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.