2011-12-19 13 views
5

次の.VBSスクリプトは動作しますが、上位±100(97)行のデータしか返しません。どのようにして完全なリストを取得できますか?少しグーグルで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

私はヨエルアーノン(ウェブ検索は、彼がMSMQ上の第一人者だと言う)、The MSMQ WMI Providerによってポストを見つけました。その中には、のMSMQパフォーマンスカウンタには、「コンピュータの最初の97のキュー(ローカルキューと発信キュー)」しかないという制限があります。

同じ投稿で、彼はその制限といくつかの他の問題を解決するために開発した新しいWMIプロバイダへのリンクと連絡先情報の電子メールアドレスを提供します。投稿は3歳ですが、ファイルは引き続きダウンロードできます。

1

は、あなたが探しているものを達成するために、具体的には、97個のエントリの後にキャンセルMSについてDarynによって答えは、私は2つのまたは3のクエリ...と言うにあなたのプロセスを調整するだろう...あなたのクエリが

を探していますすでに、その後

Select * from Win32_PerfFormattedData_MSMQ_MSMQQueue 
    where SomeColumn = 'Some Common Value' 

として... 97未満となり、あなたの最初の97を充填されたデータの一部パターンについて

Select * from Win32_PerfFormattedData_MSMQ_MSMQQueue 

ルックのための...これは、あなたが194のエントリの最大に得るのを助けるでしょう

Select * from Win32_PerfFormattedData_MSMQ_MSMQQueue 
    where NOT SomeColumn = 'Some Common Value' 

と第二のパスを行うさらに別の「共通」要素を検索し、それぞれ3回のパスにそれを破ると、それぞれの/ための独自に入れることができあなたのエコーリストをユーザーに戻すために、それぞれのループ。

関連する問題