假设我使用 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
答案1
尝试一下这个:
Get-Queue | Group-Object {$_.Identity.Server} | Select-Object Name,@{n="MessageCount";e={($_.group | Measure-Object MessageCount -sum).sum}}
答案2
部分答案,你可以应用过滤器,例如
获取队列-服务器 HT1-过滤器 {消息计数-gt 5}
这将仅显示域跳数中消息大于 5 的结果。