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    

2 Answers 2

2

Try with this:

Get-Queue | Group-Object {$_.Identity.Server} | Select-Object Name,@{n="MessageCount";e={($_.group | Measure-Object MessageCount -sum).sum}}
2
  • +1, but you need to change $. to $_.
    – Doug Luxem
    Aug 19, 2009 at 18:23
  • Perfect, thank you! Gives me a nice and simple display now!
    – Agent
    Aug 20, 2009 at 14:50
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.

1
  • 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, 2009 at 15:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .