2011-12-19 15 views
5

मेरे पास निम्न है। वीबीएस स्क्रिप्ट, जो काम करता है, लेकिन यह केवल डेटा की शीर्ष ± 100 (9 7) पंक्तियां देता है। मैं पूरी सूची कैसे प्राप्त करूं?WMI से 97 से अधिक पंक्तियां कैसे प्राप्त करें?

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 

उत्तर

4
एक छोटे से Googling के साथ

मैं योएल अर्नोन द्वारा एक पोस्ट (वेब ​​खोज कहते हैं कि वे MSMQ पर एक गुरु है), The MSMQ WMI Provider पाया। इसमें उन्होंने कहा है कि एमएसएमक्यू प्रदर्शन काउंटरों की एक सीमा है कि वे केवल "आपके कंप्यूटर में पहली 9 7 कतार (स्थानीय और आउटगोइंग कतार) प्रदान करते हैं"।

उसी पोस्ट में वह उस सीमा को और कुछ अन्य लोगों के साथ-साथ संपर्क जानकारी के लिए एक ईमेल पता को दूर करने के लिए विकसित एक नए डब्ल्यूएमआई प्रदाता के लिए एक लिंक प्रदान करता है। पोस्ट तीन साल पुराना है लेकिन फ़ाइल अभी भी डाउनलोड के लिए उपलब्ध है।

1

पूरा करने के लिए आप के लिए क्या देख रहे हैं, और Daryn द्वारा जवाब एमएस के बारे में विशेष रूप से 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 गुजरता में इसे तोड़ने और प्रत्येक के लिए/अपनी ही में डाल दिया जा सकता है प्रत्येक गूंज सूची को उपयोगकर्ता पर वापस लाने के लिए प्रत्येक लूप।

संबंधित मुद्दे