使用 VBScript 执行特权操作
如果使用 WMI 的脚本 API,可设置特定的安全特权。 例如,可设置安全特权,来请求关闭操作系统或检查安全事件日志。 有关详细信息,请参阅使用特殊特权运行。
仅当在计算机上访问 WMI 时,才需要设置特权。 访问远程主机时,COM RPC 会自动设置特权。 若要确定所有必需特权,请查看要访问的特定 WMI 类(例如 Win32_OperatingSystem)对应的文档。 有关详细信息,请参阅 WbemPrivilegeEnum
本主题讨论以下部分:
在 Security_ 对象中设置特权
按照以下过程在 Visual Basic 中设置安全特权。
在 Visual Basic 中设置特权
创建类型为 SWbemLocator 的对象。
将新特权添加到 SWbemLocator.Security_ 对象。
Security_ 对象包含 SWbemObjectSet 集合。 集中的对象是 SWbemSecurity 对象。 有关详细信息,请参阅访问集合。
登录 WMI 并检索 SWbemServices 对象。
SWbemServices 对象继承在上一步中设置的特权。
还可以使用 SWbemPrivilegeSet.AddAsString 方法设置特权。
将特权设置为名字对象的一部分
可以将特权设置为名字对象的一部分。
以下示例演示如何将调试特权添加到名字对象。
Set Service = GetObject("winmgmts:{impersonationLevel=impersonate, (Debug)}")
撤销和重置特权
以下示例演示如何设置 SeDebugPrivilege 特权,以及如何撤销 SeRemoteShutdownPrivilege 特权。
Set Service = GetObject("winmgmts:{impersonate,(Debug,!RemoteShutdown)}")
相关主题