Metode SWbemObjectSet.ItemIndex
Metode ItemIndex mengembalikan SWbemObject yang terkait dengan indeks yang ditentukan ke dalam koleksi. Indeks menunjukkan posisi elemen dalam koleksi. Penomoran koleksi dimulai dari nol.
Sintaks
objWbemObject = .ItemIndex( _
ByVal lIndex _
)
Parameter
-
Lindex
-
Indeks item dalam koleksi.
Menampilkan nilai
Jika berhasil, objek SWbemObject yang diminta akan kembali.
Kode kesalahan
Setelah menyelesaikan metode Item , objek Err mungkin berisi salah satu kode kesalahan di bawah ini.
-
wbemErrFailed - 2147749889 (0x80041001)
-
Kesalahan yang tidak ditentukan.
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
Parameter tidak valid ditentukan. Kesalahan ini dikembalikan jika nomor indeks negatif disediakan.
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
Tidak cukup memori untuk menyelesaikan operasi.
-
wbemErrNotFound - 2147749890 (0x80041002)
-
Item yang diminta tidak ditemukan.
Keterangan
Metode ItemIndex memungkinkan skrip dan aplikasi klien WMI yang ditulis dalam bahasa apa pun cara yang seragam untuk memanipulasi koleksi seperti array. Metode ini dapat digunakan dengan koleksi SWbemObjectSet . Kueri, seperti SWbemServices.AssociatorsOf, SWbemServices.ReferencesTo, SWbemServices.InstancesOf, atau SWbemServices.ExecQuery mengembalikan koleksi SWbemObjectSet . Metode ItemIndex tidak berfungsi dengan koleksi yang tidak berisi SWbemObjects, seperti SWbemMethodSet, SWbemNamedValueSet, SWbemPrivilegeSet, SWbemPropertySet, dan SWbemQualifierSet.
ItemIndex juga dapat digunakan untuk mendapatkan instans tunggal dari kelas singleton.
Contoh
Contoh kode VBScript berikut mengkueri untuk kumpulan semua instans Win32_Process kemudian menampilkan nama dari tiga proses pertama.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & _
strComputer & "\root\cimv2")
set colProcesses = _
objWMIService.Execquery("Select * from Win32_Process")
Wscript.Echo colProcesses.ItemIndex(0).Name
Wscript.Echo colProcesses.ItemIndex(1).Name
Wscript.Echo colProcesses.ItemIndex(2).Name
Hanya satu instans Win32_OperatingSystem yang ada untuk setiap penginstalan sistem operasi. Membuat jalur GetObject untuk mendapatkan instans tunggal canggung sehingga skrip biasanya menghitung Win32_OperatingSystem meskipun hanya satu instans yang tersedia. Contoh kode VBScript berikut menunjukkan cara menggunakan metode ItemIndex untuk masuk ke yang Win32_OperatingSystem tanpa menggunakan perulangan For Each .
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
Wscript.Echo "Caption: " & colOperatingSystems.ItemIndex(0).Caption
Contoh kode VBScript berikut mendapatkan instans yang terkait dengan Win32_OperatingSystem, seperti Win32_SystemOperatingSystem.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & _
strComputer & "\root\cimv2")
set colOS = _
objWMIService.Execquery("Select * from Win32_OperatingSystem")
Wscript.Echo colOS.ItemIndex(0).Name
set colAssociators = colOS.ItemIndex(0).Associators_
For Each Associator in colAssociators
Wscript.Echo Associator.Path_.RelPath
Next
Output contoh kode berikut menunjukkan instans yang terkait dengan Win32_OperatingSystem.
Windows Server 2008
|C:\Windows|\Device\Harddisk0\Partition1
Win32_ComputerSystem.Name="Test1"
Win32_AutochkSetting.SettingID="Windows Server 2008
|C:\\Windows|\\Device\\Harddisk0\\Partition1"
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista |
Server minimum yang didukung |
Windows Server 2008 |
Header |
|
Pustaka jenis |
|
DLL |
|
CLSID |
CLSID_SWbemObjectSet |
IID |
IID_ISWbemObjectSet |