Menjalankan Operasi Istimewa

Operasi istimewa memerlukan hak istimewa keamanan seperti SeLoadDriverPrivilege (wbemPrivilegeLoadDriver di Konstanta Scripting API), hak istimewa yang harus diaktifkan untuk akun yang memuat driver perangkat. Anda tidak dapat menambahkan hak istimewa ke administrator atau pengguna melalui WMI, Anda hanya dapat mengaktifkan hak istimewa yang sudah dimiliki akun tersebut. Untuk daftar hak istimewa, lihat Privilege_Constants.

Secara default, pengguna lokal di komputer dapat membaca data statis dari repositori WMI, menulis ke instans yang disediakan oleh penyedia, dan menjalankan metode penyedia, kecuali penyedia memberlakukan persyaratan keamanan khusus sendiri. Hanya administrator yang dapat terhubung ke komputer jarak jauh, mengubah deskriptor keamanan, atau mengubah data repositori WMI statis, seperti definisi kelas WMI. Semua hak istimewa diaktifkan untuk koneksi jarak jauh. Untuk informasi selengkapnya, lihat Mengamankan Koneksi WMI Jarak Jauh.

Konstanta hak istimewa untuk C++ berbeda dari konstanta yang digunakan oleh bahasa otomatisasi seperti Visual Basic. Skrip harus menggunakan nilai konstanta daripada nama. Untuk informasi selengkapnya, lihat Menjalankan Operasi Istimewa Menggunakan C++ atau Menjalankan Operasi Istimewa Menggunakan VBScript.

Penyebab umum kesalahan akses ditolak saat menggunakan WMI adalah kurangnya hak istimewa yang diaktifkan untuk operasi, seperti mendapatkan semua instans Win32_NTEventlogFile. Tanpa mengaktifkan hak istimewa SeSecurity , Anda tidak dapat mengakses file log Keamanan.

Contoh kode VBScript berikut menunjukkan cara mengatur hak istimewa SeSecurity dalam string moniker. Ketika digunakan dalam moniker, nama hak istimewa dalam tanda kurung menghilangkan awal "Se". Untuk informasi selengkapnya, lihat Membuat String Moniker.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate,(Security)}!\\" _
    & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
    ("Select * from Win32_NTEventLogFile " _
    & "Where LogFileName='Security'")
For Each LogFile in colFiles
Wscript.Echo LogFile.NumberOfRecords
Next

Konstanta Hak Istimewa