1
我可以查询Win32_PerfFormattedData_msmq_MSMQQueue
WMI对象来获取MSMQ队列中的消息数,如下所示,但这将返回队列中消息的累积计数,并且它是子队列(如毒药和重试)。理想情况下,我希望仅在毒物队列中计算消息数量。WMI查询来统计MSMQ毒性队列中的消息数
这可能使用WMI吗?
Dim Locator
Set Locator = CreateObject("WbemScripting.SWbemLocator")
Dim objs
Set Service = Locator.ConnectServer(".", "root\cimv2")
Set objs = Service.ExecQuery("SELECT MessagesinQueue " &_
"FROM Win32_PerfFormattedData_msmq_MSMQQueue " &_
"WHERE Name LIKE '%\\private$\\myqueue'")
For Each object In objs
WScript.Echo "Name: " & object.Name
WScript.Echo "MessageCount: " & object.MessagesInQueue
Next
鉴于子队列的docs上面的结果有意义的,因为子队列是主要的物理队列的只是一个逻辑分区,但有任何其他WMI对象或属性我可以查询,以确定有害消息?
毒性队列不作为不同的队列存在,因此没有它自己的性能对象计数器实例。它只是“真实”队列的一个分区。 –