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對象或屬性我可以查詢,以確定有害消息?
毒性隊列不作爲不同的隊列存在,因此沒有它自己的性能對象計數器實例。它只是「真實」隊列的一個分區。 –