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 |
|
Pustaka jenis |
|
DLL |
|
CLSID |
CLSID_SWbemObjectSet |
IID |
IID_ISWbemObjectSet |