Aracılığıyla paylaş


Ayrıcalıklı İşlemleri Yürütme

Ayrıcalıklı işlemler, SeLoadDriverPrivilege (wbemPrivilegeLoadDriver, Betik API Sabitleriiçinde) gibi güvenlik ayrıcalıkları gerektirir. Bu, bir cihaz sürücüsü yükleyen bir hesap için etkinleştirilmesi gereken bir ayrıcalıktır. WMI aracılığıyla bir yöneticiye veya kullanıcıya ayrıcalık ekleyemezsiniz, yalnızca hesabın zaten sahip olduğu ayrıcalıkları etkinleştirebilirsiniz. Ayrıcalıkların listesi için bkz. Privilege_Constants.

Varsayılan olarak, bir bilgisayardaki yerel kullanıcı WMI deposundan statik verileri okuyabilir, sağlayıcılar tarafından sağlanan örneklere yazabilir ve sağlayıcı kendi özel güvenlik gereksinimlerini zorlamadığı sürece sağlayıcı yöntemlerini yürütebilir. Yalnızca yöneticiler uzak bir bilgisayara bağlanabilir, güvenlik tanımlayıcılarını değiştirebilir veya WMI sınıf tanımı gibi statik WMI depo verilerini değiştirebilir. Uzak bağlantı için tüm ayrıcalıklar etkinleştirilir. Daha fazla bilgi için bkz. Uzak WMI Bağlantısının Güvenliği.

C++ için ayrıcalık sabitleri, Visual Basic gibi otomasyon dilleri tarafından kullanılanlardan farklıdır. Betikler, ad yerine sabitin değerini kullanmalıdır. Daha fazla bilgi için bkz. C++ Kullanarak Ayrıcalıklı İşlemleri Yürütme veya VBScriptKullanarak Ayrıcalıklı İşlemleri Yürütme.

WMI kullanırken erişim reddedildi hatalarının yaygın nedenlerinden biri, tüm Win32_NTEventlogFileörneklerini alma gibi işlemler için etkin ayrıcalık olmamasıdır. SeSecurity ayrıcalığını etkinleştirmeden Güvenlik günlüğü dosyasına erişemezsiniz.

Aşağıdaki VBScript kod örneği, SeSecurity ayrıcalığının ad dizesinde nasıl ayarlandığını gösterir. Takma ad kullanıldığında, parantez içindeki yetki adının başındaki "Se" kaldırılır. Daha fazla bilgi için bkz. Takma Ad Dizesi oluşturma.

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

Ayrıcalık Sabitleri