共用方式為


執行特殊許可權作業

需要安全性許可權的操作如 SeLoadDriverPrivilege (在 腳本 API 常數中為wbemPrivilegeLoadDriver),該許可權必須針對需要載入裝置驅動程式的帳戶啟用。 您無法透過 WMI 將權限新增至系統管理員或使用者,您只能啟用帳戶已擁有的許可權。 如需權限清單,請參閱 Privilege_Constants

根據預設,計算機上的本機使用者可以從 WMI 存放庫讀取靜態數據,、寫入提供者提供的實例,以及執行提供者方法,除非提供者強制執行自己的特殊安全性需求。 只有系統管理員 連線到遠端電腦、變更安全性描述元,或變更靜態 WMI 存放庫數據,例如 WMI 類別定義。 遠端連線的所有權限已啟用。 如需詳細資訊,請參閱 保護遠端 WMI 連線

C++的許可權常數不同於自動化語言所使用的常數,例如 Visual Basic。 腳本必須使用常數的值,而不是名稱。 如需詳細資訊,請參閱 使用 C++ 執行特殊許可權作業使用 VBScript 執行特殊許可權作業

使用 WMI 時,如果缺少執行作業所需的啟用許可權,通常會導致拒絕存取錯誤,例如獲取所有 Win32_NTEventlogFile實例。 若未啟用 SeSecurity 許可權,您就無法存取安全性記錄檔。

下列 VBScript 程式代碼範例示範如何在 moniker 字串中設定 SeSecurity 許可權。 在使用名稱時,括弧中的特權名稱會去掉初始 "Se"。 如需詳細資訊,請參閱 構建 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

許可權常數