WMI查询到Win32_Directory没有返回所有结果

时间:2011-10-04 00:56:10

标签: javascript windows wmi wmi-query

我正在对远程计算机运行一些WMI查询(来自JavaScript / JScript,WMIC,下载的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的\'\\对我的转义进行了排序,并且我正在使用var wmiResults = wmi.ExecQuery(wql, 'WQL', 32);的基本调用来获取结果集。

在本地计算机上运行的等效批处理命令会返回更多结果:

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

就像有某种缓存或分页正在进行,或索引需要重建,但我不知道从哪里开始告诉它刷新缓存或检索所有结果。

帮助!!

0 个答案:

没有答案