3

管理者権限を持つリモートコンピューター(JavaScript / JScript、WMIC、ダウンロードされたWMIクエリツールから-違いはありません)に対していくつかのWMIクエリを実行しています。

クエリはWin32_Directoryクラスに対して行われ、「db」、「hooks」、「conf」、または「locks」と呼ばれるターゲットサーバー上のすべてのフォルダを検索しようとしますが、すべてのフォルダを返すわけではありません。そのうちの約150個しか取得できません。

私が試したクエリは次のとおりです。

SELECT drive, path, filename 
FROM Win32_Directory 
WHERE filename = 'db' 
   OR filename = 'conf' 
   OR filename = 'hooks' 
   OR filename = 'locks'

と:

SELECT drive, path, filename 
FROM Win32_Directory 
WHERE name LIKE '%\\db' 
   OR name LIKE '%\\conf' 
   OR name LIKE '%\\locks' 
   OR name LIKE '%\\hooks'

または、WMICの場合(ローカルマシンから):

wmic fsdir where (name like '%\\db' or name like '%\\conf' or name like '%\\hooks' or name like '%\\locks') get drive,path,name

\'エスケープはJScriptを使用して、適切な場合はJScriptを使用してソートされていると確信して\\おり、基本的な呼び出しを使用しvar wmiResults = wmi.ExecQuery(wql, 'WQL', 32);て結果セットを取得しています。

ローカルマシンで実行される同等のバッチコマンドは、はるかに多くの結果を返します。

for /r %A in (db,conf,hooks,locks) do @if exist "%~A" echo %~A

ある種のキャッシュやページングが行われている、またはインデックスを再構築する必要があるようなものですが、キャッシュを更新するか、すべての結果を取得するように指示する場所がわかりません。

ヘルプ!!

4

0 に答える 0