Tugas WMI untuk log peristiwa mendapatkan data peristiwa dari file log peristiwa dan melakukan operasi seperti mencadangkan atau menghapus file log. Untuk contoh lain, lihat TechNet ScriptCenter di https://www.microsoft.com/technet.
Contoh skrip yang ditampilkan dalam topik ini hanya mendapatkan data dari komputer lokal. Untuk informasi selengkapnya tentang cara menggunakan skrip untuk mendapatkan data dari komputer jarak jauh, lihat Menyambungkan ke WMI di Komputer Jarak Jauh.
Prosedur berikut menjelaskan cara menjalankan skrip.
Untuk menjalankan skrip
Salin kode dan simpan dalam file dengan ekstensi .vbs, seperti filename.vbs. Pastikan editor teks Anda tidak menambahkan ekstensi .txt ke file.
Buka jendela prompt perintah dan navigasikan ke direktori tempat Anda menyimpan file.
Ketik filename.vbscscript pada prompt perintah.
Jika Anda tidak dapat mengakses log peristiwa, periksa untuk melihat apakah Anda menjalankan dari prompt perintah Yang ditingkatkan. Beberapa Log Peristiwa, seperti Log Peristiwa Keamanan, dapat dilindungi oleh Kontrol Akses Pengguna (UAC).
Catatan
Secara default, cscript menampilkan output skrip di jendela prompt perintah. Karena skrip WMI dapat menghasilkan output dalam jumlah besar, Anda mungkin ingin mengalihkan output ke file. Ketik filename.vbs cscript > outfile.txt pada prompt perintah untuk mengalihkan output skrip filename.vbs ke outfile.txt.
Tabel berikut ini mencantumkan contoh skrip yang dapat digunakan untuk mendapatkan berbagai jenis data dari komputer lokal.
Bagaimana Caranya...
Kelas atau metode WMI
... mengambil informasi tentang log peristiwa Keamanan?
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Backup)}!\\" & strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery ("Select * from Win32_NTEventLogFile " & "Where LogFileName='Application'")
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog("c:\scripts\application.evt")
WScript.Echo "File saved as c:\scripts\applications.evt"
Next
foreach ($objLogFile in $colLogFiles)
{
[void]$objLogFile.BackupEventlog("c:\scripts\applications.evt")
"File saved as c:\scripts\applications.evt"
}
... mencadangkan log peristiwa lebih dari sekali?
Pastikan bahwa file cadangan memiliki nama yang unik sebelum menggunakan Win32_NTEventlogFile dan metode BackupEventLog . Sistem operasi tidak memungkinkan Anda menimpa file cadangan yang ada; Anda harus memindahkan file cadangan atau mengganti namanya sebelum dapat menjalankan skrip lagi. Anda mungkin perlu menyertakan hak istimewa Pencadangan saat menyambungkan ke WMI. Untuk informasi selengkapnya, lihat Menjalankan Operasi Istimewa Menggunakan VBScript.
VB
dtmThisDay = Day(Date)
dtmThisMonth = Month(Date)
dtmThisYear = Year(Date)
strBackupName = dtmThisYear & "_" & dtmThisMonth & "_" & dtmThisDay
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Backup)}!\\" & strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery ("Select * from Win32_NTEventLogFile " & "Where LogFileName='Application'")
For Each objLogfile in colLogFiles
objLogFile.BackupEventLog("c:\scripts\" & strBackupName & "_application.evt")
objLogFile.ClearEventLog()
WScript.Echo "File saved: " & strBackupName & "_application.evt"
Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery ("Select * from Win32_NTEventLogFile " & "Where LogFileName='System'")
For Each objLogFile in colLogFiles
Wscript.Echo objLogFile.NumberOfRecords
Next
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat: https://aka.ms/ContentUserFeedback.