Скажем, я использую Get-Queue -Server HT1 для создания очереди на сервере transport1. Он выводит что-то вроде этого:
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
Есть ли способ реализовать цикл или некоторую логику, чтобы я мог получить более чистый однострочный вывод с общим количеством очереди, даже если бы мне нужно было получить статус очереди на всех транспортных серверах, что-то вроде этого:
Server Queue
HT1 2
HT2 0
HT2 20
Попробуйте с этим:
Get-Queue | Group-Object {$_.Identity.Server} | Select-Object Name,@{n="MessageCount";e={($_.group | Measure-Object MessageCount -sum).sum}}
Частичный ответ, вы можете применить фильтр, например
get-queue -server HT1 -Filter {MessageCount -gt 5}
это будет отображать результаты только с сообщениями больше 5 в переходе домена.