我可以查询Win32_PerfFormattedData_msmq_MSMQQueue
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
鉴于子队列上的文档,上述结果是有意义的,因为子队列只是主物理队列的逻辑分区,但是我可以查询任何其他 WMI 对象或属性来识别有毒消息吗?