Vbscript 如何从WMI中获取超过97行?
我有下面的.VBS脚本,它可以工作,但它只返回顶部±100(97)行数据。如何获得完整的列表Vbscript 如何从WMI中获取超过97行?,vbscript,wmi,Vbscript,Wmi,我有下面的.VBS脚本,它可以工作,但它只返回顶部±100(97)行数据。如何获得完整的列表 On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfFormattedData_MSM
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfFormattedData_MSMQ_MSMQQueue",,48)
For Each objItem in colItems
Wscript.Echo objItem.Name & " - " & objItem.MessagesinQueue
Next
通过谷歌搜索,我找到了约尔·阿农(Yoel Arnon)的一篇帖子(网络搜索称他是MSMQ的大师)。在报告中,他指出MSMQ性能计数器有一个限制,即它们只提供“计算机中的前97个队列(本地和传出队列)。
在同一篇文章中,他提供了一个链接,指向一个新的WMI提供商,该提供商是他为克服这个限制而开发的,另外还有一些其他的,他还提供了一个联系信息的电子邮件地址。这篇文章已经三年了,但文件仍然可以下载。为了完成您所寻找的内容,以及Daryn关于MS在97个条目后明确取消的回答,我会将您的过程调整为说。。。2或3个查询 您的查询正在查找
Select * from Win32_PerfFormattedData_MSMQ_MSMQQueue
寻找一些模式的数据,已经填补了你的第一个97,这将是低于97。。。比如
Select * from Win32_PerfFormattedData_MSMQ_MSMQQueue
where SomeColumn = 'Some Common Value'
然后再做第二次传球
Select * from Win32_PerfFormattedData_MSMQ_MSMQQueue
where NOT SomeColumn = 'Some Common Value'
这将帮助您获得最多194个条目。。。找到另一个“公共”元素,并将其分别分解为3个过程,每个过程都可以放入自己的FOR/each循环中,以填充回显列表并返回给用户