Tente com isso:
Get-Queue | Group-Object {$_.Identity.Server} | Select-Object Name,@{n="MessageCount";e={($_.group | Measure-Object MessageCount -sum).sum}}
Digamos que eu use o Get-Queue -Server HT1 para puxar a fila no transport1 do servidor. Produz algo assim:
Identity DeliveryType Status MessageCount NextHopDomain
-------- ------------ ------ ------------ -------------
HT1782 MapiDelivery Ready 0 mail1.c...
HT1783 MapiDelivery Ready 2 mail4.c....
HT1599 MapiDelivery Ready 0 mail2.c...
HT2\Submission Undefined Ready 4 Submission
HT2782 MapiDelivery Ready 0 mail1.c...
HT2783 MapiDelivery Ready 1 mail4.c....
HT3599 MapiDelivery Ready 0 mail2.c...
HT3\Submission Undefined Ready 4 Submission
Existe uma maneira de implementar um loop ou alguma lógica para que eu possa obter uma saída de linha mais limpa com uma contagem total de filas, mesmo se eu tivesse o status da fila em todos os servidores de transporte, algo assim:
Server Queue
HT1 2
HT2 0
HT2 20
Resposta parcial, você poderia aplicar um filtro, como
get-queue -server HT1 -Filter {MessageCount -gt 5}
isso só exibiria resultados com mensagens maiores que 5 no salto de domínio.
Tags powershell exchange-2007