Bagikan melalui


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
Wbemdisp.h
Pustaka jenis
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObjectSet
IID
IID_ISWbemObjectSet

Lihat juga

SWbemObjectSet