Mengakses Data Performa dalam Skrip

Skrip WMI dapat mengakses Kelas Penghitung Kinerja WMI yang telah diinstal sebelumnya, baik di komputer lokal atau dari jarak jauh. Meskipun skrip dapat memperoleh data dari kelas yang tidak dihitung, seperti Win32_PerfRawData_PerfOS_Memory, atau kelas yang diformat, Win32_PerfFormattedData_PerfOS_Memory, kelas data yang diformat dapat lebih mudah digunakan.

Memantau data performa dengan kelas penghitung kinerja memerlukan penggunaan penyegaran. Gunakan objek SWbemRefresher untuk menyimpan satu atau beberapa objek performa untuk refresh atau merefresh satu objek oleh panggilan SWbemObjectEx.Refresh . Untuk informasi selengkapnya, lihat Merefresh Data WMI dalam Skrip.

Dengan mengatur properti SWbemRefresher.AutoReconnect ke TRUE, WMI secara otomatis terhubung kembali ke penyedia jarak jauh jika koneksi rusak sehingga Anda tidak perlu memeriksa status koneksi.

Seperti yang ditunjukkan dalam skrip contoh kode skrip berikut, Anda harus melakukan panggilan refresh awal untuk mendapatkan nilai awal untuk objek yang Anda refresh. Panggilan refresh berikutnya kemudian berisi data.

Catatan

Ketika skrip mengakses data penghitung kinerja WMI dari komputer jarak jauh, skrip hanya dapat berjalan di bawah akun pengguna yang masuk saat ini. WMI tidak mendukung panggilan SWbemLocator.ConnectServer yang meneruskan kredensial pengguna yang berbeda. Oleh karena itu, akun yang memanggil komputer jarak jauh harus sudah memiliki hak istimewa yang sesuai pada komputer tersebut.

 

Contoh kode skrip berikut menunjukkan cara menggunakan objek SWbemRefresher untuk memperbarui data dalam objek penghitung kinerja. Untuk informasi selengkapnya tentang menggunakan penghitung kinerja di WMI, lihat Mengakses Kelas Performa WMI yang Telah Diinstal Sebelumnya.

' Get raw and cooked data performance counter instances for the
" wscript process running this script

set RawProc = GetObject("winmgmts:Win32_PerfRawdata_Perfproc_process.name='wscript'")
set CookedProc = GetObject("winmgmts:Win32_Perfformatteddata_Perfproc_process.name='wscript'")

' Display the same property in raw and cooked form in a loop
for I = 1 to 6
    Wscript.Echo "wscript process raw PageFaultsPerSec = & RawProc.PageFaultsPerSec _
                 & " cooked PageFaultsPerSec= " & CookedProc.PageFaultsPerSec 

' Wait 2 seconds
    Wscript.Sleep 2000
    
    ' Refresh the object
    RawProc.Refresh_
    CookedProc.Refresh_
next

Contoh

Contoh kode skrip berikut menunjukkan bahwa Anda harus melakukan panggilan refresh awal untuk mendapatkan nilai awal untuk objek yang disegarkan. Panggilan refresh berikutnya kemudian berisi data.

Contoh kode skrip berikut menunjukkan cara menggunakan objek SWbemRefresher untuk memperbarui data dalam objek penghitung kinerja. Untuk informasi selengkapnya tentang menggunakan penghitung kinerja di WMI, lihat Mengakses Kelas Performa WMI yang Telah Diinstal Sebelumnya.

' Get raw and cooked data performance counter instances for the
" wscript process running this script

set RawProc = GetObject("winmgmts:" _
                        & "Win32_PerfRawdata_Perfproc_process." _
                        & "name='wscript'")
set CookedProc = GetObject("winmgmts:" _ 
                & "Win32_Perfformatteddata_Perfproc_process." _
                & "name='wscript'")

' Display the same property in raw and cooked form in a loop
for I = 1 to 6
    Wscript.Echo "wscript process raw PageFaultsPerSec = " _
                 & RawProc.PageFaultsPerSec _
                 & " cooked PageFaultsPerSec= " _
                 & CookedProc.PageFaultsPerSec 

' Wait 2 seconds
    Wscript.Sleep 2000
    
    ' Refresh the object
    RawProc.Refresh_
    CookedProc.Refresh_
next

Kelas Penghitung Kinerja

Tugas WMI: Pemantauan Performa

Memantau Data Performa