3

我正在对远程计算机运行一些 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

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

帮助!!

4

0 回答 0