描述
特权属性是SWbemPrivilegeSet对象。此属性用于启用或禁用特定的Windows NT,Windows 2000和Windows XP权限。您可能需要设置其中一个权限才能使用Windows Management Instrumentation(WMI)API执行特定任务。
PowerBASIC 语法
PROPERTY GET Privileges () AS ISWbemPrivilegeSet |
返回值
一个SWbemPrivilegeSet对象。
备注
您可以通过向特权属性添加SWbemPrivilege对象来更改为SWbemServices,SWbemObject,SWbemObjectSet,SWbemObjectPath和SwbemLocator对象定义的权限。
Windows的不同版本如何处理对特权的更改有根本的区别。如果您正在开发仅在Windows 2000或Windows XP平台上使用的应用程序,则可以随时设置或撤销权限。如果您的应用程序必须可移植才能在Windows NT 4.0平台上使用,则必须先设置权限,然后再进行第一次调用SWbemLocator.ConnectServer或作为标记的一部分。
以下示例将初始标记连接上的SeDebugPrivilege设置为获得SWbemServices对象,并可在Windows NT,Windows 2000和Windows XP平台上运行。
Set Service = GetObject( _
"winmgmts:{impersonationLevel=impersonate, (Debug)}")
有关如何格式化标记连接的安全性字符串的更多信息,请参阅特权常数.
以下示例将无法在Windows NT 4.0平台上运行。它尝试执行相同的任务,但是在初始登录到WMI之后设置权限。
Set Service = GetObject( _
"winmgmts:{impersonationLevel=impersonate}")
Service.Security_.Privileges.AddAsString "SeDebugPrivilege", True
请注意,对于SwbemPrivilegeSet.AddAsString的调用,必须使用安全特权的全名,例如“SeDebugPrivilege”而不是“Debug”。
要求
客户 |
需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95 OSR2及更高版本。 |
服务器 |
需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。 |
类型库 |
使用Wbemdisp.tlb。 |
头 |
Wbemdisp.inc。 |
DLL |
需要Wbemdisp.dll。 |