Objek SWbemObjectSet
Objek SWbemObjectSet adalah kumpulan objek SWbemObject . Untuk informasi selengkapnya, lihat Mengakses Koleksi. Objek ini tidak dapat dibuat oleh panggilan VBScript CreateObject .
Anda bisa mendapatkan objek SWbemObjectSet dengan memanggil salah satu metode berikut atau setara asinkronnya:
- SWbemObject.Associators_
- SWbemObject.Instances_
- SWbemObject.References_
- SWbemObject.Subclasses_
- SWbemServices.AssociatorsOf
- SWbemServices.ExecQuery
- SWbemServices.InstancesOf
- SWbemServices.ReferencesTo
- SWbemServices.SubclassesOf
Catatan
Objek SWbemObjectSet tidak mendukung metode pengumpulan Tambahkan dan Hapus opsional.
Catatan
Karena panggilan balik ke sink mungkin tidak dikembalikan pada tingkat autentikasi yang sama dengan yang diperlukan klien, disarankan agar Anda menggunakan semisinkron alih-alih komunikasi asinkron. Untuk informasi selengkapnya, lihat Memanggil Metode.
Anggota
Objek SWbemObjectSet memiliki jenis anggota ini:
Metode
Objek SWbemObjectSet memiliki metode ini.
Metode | Deskripsi |
---|---|
Item | Mengambil objek SWbemObject dari koleksi. Ini adalah metode default objek. |
ItemIndex | Mengambil objek SWbemObject yang terkait dengan indeks yang ditentukan ke dalam koleksi. |
Properti
Objek SWbemObjectSet memiliki properti ini.
Properti | Jenis akses | Deskripsi |
---|---|---|
Menghitung |
Baca-saja |
Jumlah item dalam koleksi. |
Keamanan_ |
Baca-saja |
Digunakan untuk membaca atau mengubah setelan keamanan. |
Keterangan
SWbemObjectSet adalah kumpulan nol atau lebih objek SWbemObject. Setiap SWbemObject dalam SWbemObjectSet dapat mewakili salah satu dari dua hal:
- Instans sumber daya yang dikelola WMI.
- Instans definisi kelas.
Penggunaan paling umum dari kelas ini di WMI adalah sebagai nilai pengembalian untuk panggilan ExecQuery atau InstancesOf , seperti yang dijelaskan dalam sampel kode berikut:
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colServices = objSWbemServices.ExecQuery("SELECT State FROM Win32_Service")
For Each objService In colServices
Wscript.Echo objService.Name, objService.State
Next
Untuk sebagian besar, satu-satunya hal yang akan Anda lakukan dengan SWbemObjectSet adalah menghitung semua objek yang terkandung dalam koleksi itu sendiri. Namun, SWbemObjectSet memang menyertakan properti Count yang dapat berguna dalam pembuatan skrip administrasi sistem. Seperti namanya, Count memberi tahu Anda jumlah item dalam koleksi. Misalnya, skrip ini mengambil koleksi semua layanan yang diinstal pada komputer dan kemudian menggemakan jumlah total layanan yang ditemukan:
Untuk informasi selengkapnya tentang cara menggunakan kelas ini, lihat Menghitung WMI.
Contoh
Sampel kode VBScript berikut menggambarkan bagaimana koleksi SWbemObjectSet dimanipulasi.
On Error Resume Next
Set Disks = GetObject("winmgmts:").InstancesOf ("CIM_LogicalDisk")
WScript.Echo "There are", Disks.Count, " Disks"
Set Disk = Disks("Win32_LogicalDisk.DeviceID=""C:""")
WScript.Echo Disk.Path_.Path
if Err <> 0 Then
WScript.Echo Err.Description
Err.Clear
End if
Sampel kode Perl berikut menggambarkan bagaimana koleksi SWbemObjectSet dimanipulasi.
use strict;
use Win32::OLE;
my ($disks,$disk);
eval { $disks = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2")->
InstancesOf("CIM_LogicalDisk"); };
unless($@)
{
print "\nThere are ", $disks->{Count}, " Disks \n";
eval { $disk = $disks->Item("Win32_LogicalDisk.DeviceID=\"C:\""); };
unless($@)
{
print $disk->{Path_}->{Path}, "\n";
}
else
{
print STDERR Win32::OLE->LastError, "\n";
}
}
else
{
print STDERR Win32::OLE->LastError, "\n";
}
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 |