Get-ExchangeDiagnosticInfo One-liners

The CmdLet Get-ExchangeDiagnosticInfo is not very well documented, but very useful if you want to see your server’s health state. Brian Reid already posted more details and how to format the output. You can find his post here.

After I read about it, this CmdLet got one of my favorites and I use it very often in my daily work.

In Exchange 2010 there are only 2 processes you can query:

E2k10_01

to get more details you can specify the process

E2k10_02

As you can see there are several components available. The following one-liners turned out to be very useful for daily operation if you want to check the health on your server:

MailSubmission on a mailbox server for all databases:

([xml](Get-ExchangeDiagnosticInfo -Process MSExchangeMailSubmission).result).Diagnostics.Components.MailSubmission.MailSubmissionInstances.MailSubmission | ft @{label="DB";expression={$_.database.name}},concurrentEvents,pendingRpcThreads,messagesInRetry,shutdownInProgress,@{label="RPCInfo";expression={$_.RpcInfoCollection.count}} –a

E2k10_03

MailSubmission retry on a mailbox server. This is the view how the mailbox server sees the HTs :

([xml](Get-ExchangeDiagnosticInfo -Process MSExchangeMailSubmission).result).Diagnostics.Components.MailSubmission.ServerPickerManager.Servers.Server | ft –a

E2k10_04

MailSubmission resubmit queues on a mailbox server:

([xml](Get-ExchangeDiagnosticInfo -Process MSExchangeMailSubmission).result).Diagnostics.Components.RedundancyManager.ResubmitQueues

E2k10_05

HT ResourceManager, which shows the settings and the current state in terms of pressure:

([xml](Get-ExchangeDiagnosticInfo –Process EdgeTransport –Component ResourceManager –Argument verbose)).Diagnostics.Components.ResourceManager.ResourceMonitors.ResourceMonitor | ft –a Type, Resourc*,*Pressure*

E2k10_06

Note: For Exchange 2013 you can’t use the same. You can use only the one for HT ResourceManager and the following slightly changed for the component MailboxTransportSubmission instead of MailSubmission:

([xml](Get-ExchangeDiagnosticInfo -Process MSExchangeSubmission).result).Diagnostics.Components.MailboxTransportSubmission.MailboxTransportSubmissionAssistantInstances.MailboxTransportSubmissionAssistant | ft @{label="DB";expression=$_.database.name}},concurrentEvents,messagesInRetry,shutdownInProgress

E2k10_07

But in Exchange 2013 there are much more data, processes and components available, which could be queried, but this will be discussed in another post. Just to give you an idea:

E2k10_08

Advertisements

One thought on “Get-ExchangeDiagnosticInfo One-liners

  1. Pingback: Get-ExchangeDiagnosticInfo: Deep dive | The clueless guy

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s