Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   SWbemObjectSet (http://forum.oszone.net/showthread.php?t=121560)

newbas 31-10-2008 10:51 938821

SWbemObjectSet
 
http://msdn.microsoft.com/en-us/libr...5).aspx?ppud=4
Собственно нуна выбрать итем из етого сета.

.ItemIndex(0) - неработает пишет неподдерживается метод или свойство.

И впринципе ни один пример с msdn-а не работает.
В чем собака порылась?

pva 31-10-2008 21:23 939369

какая операционка?
Цитата:

Requirements
Client Requires Windows Vista.
Server Requires Windows Server 2008.
Type Library Use Wbemdisp.tlb.
DLL Requires Wbemdisp.dll.
может поэтому?

а вот так сработает (js):
Код:

var strComputer = ".";
var objWMIService = GetObject("winmgmts:\\\\" + strComputer + "\\root\\cimv2");
var iter = new Enumerator(objWMIService.ExecQuery("Select * from Win32_Process"))

for (; !iter.atEnd(); iter.moveNext())
{
    WScript.Echo(iter.item().Caption);
}

или так: (vb)
Код:

strComputer = ".";
set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2");

for each item in objWMIService.ExecQuery("Select * from Win32_Process")
    WScript.Echo item.Caption
next


newbas 03-11-2008 10:47 941430

Да виноват .... не виста у меня :( pva
примеры работают..... и что получаецца конкретный итем под ХП мона выбрать только for each ?

pva 06-11-2008 12:20 944806

мне кажется это правильней, потому что:
1. Не гарантировано, что порядок будет всегда один и тот же (а следовательно через день Item#1 будет Item#10)
2. Не гарантировано, что Item#10 вообще будет
Если ищешь что-то конкретное, допиши where в select, так чтобы он выдавал всегда одно значение. Либо ни одного, если такого значения нет.


Время: 11:03.

Время: 11:03.
© OSzone.net 2001-