Разберём возможности WMI.Query

Started by Anth0ny, August 13, 2008, 04:02:26 PM

Previous topic - Next topic

Anth0ny

Вопрос: насколько WMI-субагент и nxget.exe совместимы со стандартным WQL (WMI Query Language)?

Пытаюсь создавать запросы типа (это примеры):

SELECT ThreadCount FROM Win32_Process WHERE ThreadCount>10,Handle
SELECT ThreadCount FROM Win32_Process WHERE ThreadCount LIKE 10,Handle
SELECT HandleCount FROM Win32_Process WHERE name='dns.exe',Handle


И ничего не получается.
Всё время получаю ошибку 500.

Ещё вопрос:

nxget.exe 10.100.1.4 "WMI.Query(root\CIMV2,SELECT * from Win32_GroupInDomain,PartComponent)"

этот запрос возвращает только одно значение. подозреваю, что первое по списку из всех полученных, хотя не факт, не факт...

\\MYSERVER\root\cimv2:Win32_Group.Domain="MYDOMAIN",Name="RAS and IAS Servers"

И можно ли использовать запросы типа:

SELECT * FROM Win32_Service WHERE Started=0 AND StartMode="Auto"

(поиск всех сервисов которые должны стартовать автоматом при запуске системы но не запущены в настоящее время. суть в том, что хотелось бы иметь возможность получать через WMI не единичное значение а весь запрошенный массив и уже в этом массиве делать выборку. ну или же делать выборку непосредственно в запросе. как в данном примере- ищем ВСЕ остановившиеся или не запустившиеся сервисы, но их может быть > 1 а я пока могу получить только одно значение)

Прошу разъяснить ситуацию и подсказать, какого типа запросы можно использовать?
Должны ли работать указанные выше запросы?
Если должны то где я ошибся?
Может ли быть выборка не "SELECT *" а более конкретная?

??? Прощу помочь.

(
пища для размышлений:
http://www.ks-soft.net/hostmon.eng/wmi/index.htm
http://msdn.microsoft.com/en-us/library/aa394084(VS.85).aspx
http://www.microsoft.com/technet/scriptcenter/topics/help/wmi.mspx
)

Anth0ny

Виктор, нельзя ли дать нам возможность использовать более сложные WMI-запросы?

;)