Home » Exchange Server » PowerShell Script: Check Hub Transport Servers for Back Pressure Events

PowerShell Script: Check Hub Transport Servers for Back Pressure Events

I’ve recently been exploring the challenge of detecting back pressure on Hub Transport servers without the assistance of any monitoring system in an Exchange Server environment.

Because back pressure is reported by a Transport server in the Application event log it is possible to automate checking for the events using PowerShell.

The objective is to make it possible to check Hub Transport servers reasonably quickly for their current state to discover whether the back pressure events are occurring.

I’ve written a basic script to perform this check, which I’ll share here in its current form.

Download Test-TransportServerBackPressure.ps1 from Github.

Running the Script

This script has the following dependencies:

  • PowerShell 2.0 on the server running the script
  • Exchange 2010 (or later) Management Tools on the server running the script
  • PS Remoting enabled on the Hub Transport servers being checked (will error if not)
  • You may need to modify your PowerShell execution policy to run this script file

When running the script please also be aware that:

  • If your servers have no back pressure issues at all then the results won’t be very interesting 🙂
  • If your servers experienced a back pressure condition and you cycled the Transport service as part of your corrective action then the last event log entry may not reflect the true current state of the server

Checking a single Hub Transport server:

Checking all Hub Transport servers:

Download Test-TransportServerBackPressure.ps1 from Github.

If you are experiencing back pressure issues on your Hub Transport servers please read this guide to back pressure in Exchange Server.

Paul is a Microsoft MVP for Office Servers and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul is a co-author of Office 365 for IT Pros and several other books, and is also a Pluralsight author.
Category: Exchange Server


  1. Lars Bornich says:

    Servers need to have WinRM enabled for Remote Management for this to work. Run the following from an elevated powershell window:

    Enable-PSRemoting -Force

  2. Moray says:

    Hi, I tried to download the PS1 script but it takes me to a screen with the following and there is no way to download the script. Please help…

    Download the Exchange Server 2010 to 2013 Migration Guide

    Thanks for subscribing to Exchange Server Pro. Here is your free download.

    Download Ebook

    Watch your inbox for more Exchange Server deployment, migration and administration tips.

    In the meantime, why not Follow @ExchServPro on Twitter, or Like Exchange Server Pro on Facebook.

  3. Gani says:

    the link to download is not working am getting error Not found, error 404,

    can you please assist please.

    warm regards


  4. Matt says:

    Does this still work in 2016? I am getting the following error:

    Invoke-Command : One or more computer names are not valid. If you are trying to pass a URI, use the -ConnectionUr
    parameter, or pass URI objects instead of strings.
    At D:scriptsExchangeBackpressureCheck.ps1:78 char:14
    + $events = @(Invoke-Command â?”Computername $server â?”ScriptBlock { Get-EventLo …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (System.String[]:String[]) [Invoke-Command], ArgumentException
    + FullyQualifiedErrorId : PSSessionInvalidComputerName,Microsoft.PowerShell.Commands.InvokeCommandCommand

Leave a Reply

Your email address will not be published. Required fields are marked *