1

Say I use Get-Queue -Server HT1 to pull up the queue on server transport1. It outputs something like this:

Identity       DeliveryType Status MessageCount NextHopDomain   
--------       ------------ ------ ------------ -------------   
HT1\47782      MapiDelivery Ready  0            mail1.c...
HT1\47783      MapiDelivery Ready  2            mail4.c....
HT1\48599      MapiDelivery Ready  0            mail2.c...
HT2\Submission Undefined    Ready  4            Submission    
HT2\47782      MapiDelivery Ready  0            mail1.c...
HT2\47783      MapiDelivery Ready  1            mail4.c....
HT3\48599      MapiDelivery Ready  0            mail2.c...
HT3\Submission Undefined    Ready  4            Submission  

Is there a way to implement a loop or some logic so that I can get a cleaner one line output with a total queue count, even if I was to get the queue status on all transport server, something like this:

Server Queue

HT1      2
HT2      0
HT2      20    
Agent
  • 314
  • 4
  • 16

2 Answers2

2

Try with this:

Get-Queue | Group-Object {$_.Identity.Server} | Select-Object Name,@{n="MessageCount";e={($_.group | Measure-Object MessageCount -sum).sum}}
Shay Levy
  • 969
  • 1
  • 5
  • 5
0

Partial answer, you could apply a filter, such as

get-queue -server HT1 -Filter {MessageCount -gt 5}

this would only display results with messages greater than 5 in domain hop.

Nick O'Neil
  • 1,771
  • 11
  • 10
  • Thanks, that gets me closer to what I'm looking for but sometimes a couple of the queues are backed up, in which case there would still be 2 or more lines for it. – Agent Aug 18 '09 at 15:44