【问题标题】:WMI Query to count number of messages in MSMQ poison queueWMI 查询以计算 MSMQ 毒物队列中的消息数
【发布时间】:2013-08-22 01:00:33
【问题描述】:

我可以查询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

鉴于子队列上的docs,上述结果是有意义的,因为子队列只是主物理队列的逻辑分区,但是我可以查询任何其他 WMI 对象或属性来识别有害消息吗?

【问题讨论】:

  • 毒物队列不作为一个独特的队列存在,因此没有它自己的性能对象计数器实例。它只是“真实”队列的一个分区。

标签: vbscript wmi msmq


【解决方案1】:

如果您想查询日志消息,请使用“SELECT MessagesinJournalQueue”。 日志队列不是一个单独的队列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-11
    • 2010-09-11
    • 2015-06-21
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多