Bagikan melalui


Properti SWbemObjectSet.Count

Gunakan properti Count dari objek SWbemObjectSet untuk menentukan berapa banyak item dalam koleksi SWbemObjectSet . Properti ini bersifat hanya baca.

Untuk penjelasan tentang sintaks ini, lihat Konvensi Dokumen untuk Scripting API.

Properti ini bersifat hanya baca.

Sintaks

SWbemObjectSet.Count As Integer

Nilai properti

Keterangan

Satu hal yang perlu diwaspadai saat menggunakan Count adalah WMI tidak menjaga jumlah item yang berjalan dalam koleksi. Jika Anda meminta Hitungan untuk koleksi, WMI tidak dapat langsung merespons dengan angka; sebaliknya, itu harus benar-benar menghitung item, menghitung seluruh koleksi. Untuk koleksi yang memiliki item yang relatif sedikit, seperti layanan, enumerasi ini kemungkinan membutuhkan waktu kurang dari satu detik. Namun, menghitung jumlah peristiwa dalam pengumpulan log peristiwa dapat memakan waktu jauh lebih lama.

Lalu misalkan Anda ingin menampilkan nilai properti untuk setiap peristiwa dalam koleksi. Jika demikian, WMI harus menghitung seluruh koleksi untuk kedua kalinya.

Catatan

Jika Anda mencoba untuk mendapatkan properti ini dari objek SWbemObjectSet yang dikembalikan dari metode di mana bendera yang ditentukan disertakan bendera wbemFlagForwardOnly, Anda akan mendapatkan kesalahan wbemErrFailed.

Contoh

Untuk sebagian besar, satu-satunya hal yang pernah Anda lakukan dengan SWbemObjectSet adalah menghitung semua objek yang terkandung dalam koleksi itu sendiri. Namun, Count Count yang dapat berguna dalam pembuatan skrip administrasi sistem. Sesuai 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:

strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("Win32_Service")
Wscript.Echo "Services installed on target computer: " & colSWbemObjectSet.Count

Apa yang membuat Count berguna adalah dapat memberi tahu Anda apakah instans tertentu tersedia di komputer. Misalnya, skrip ini mengambil koleksi semua layanan di komputer yang memiliki Nama W3SVC. Jika Hitungan adalah 0 (dan valid untuk koleksi tidak memiliki instans), itu berarti layanan W3SVC tidak diinstal di komputer.

strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colSWbemObjectSet = objSWbemServices.ExecQuery _
    ("SELECT * FROM Win32_Service WHERE Name='w3svc'")
If colSWbemObjectSet.Count = 0 Then
    Wscript.Echo "W3SVC service is not installed on target computer."
Else
    For Each objSWbemObject In colSWbemObjectSet
        ' Perform task on World Wide Web Publishing service.
    Next
End If

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