勇芳软件工作室.汉化:  Windows Management Instrumentation > Scripting API for WMI > Scripting API Objects >

SWbemObject

Previous pageReturn to chapter overviewNext page

您可以使用SWbemObject对象的方法和属性来表示一个Windows Management Instrumentation(WMI)类定义或对象实例。该对象不能由VBScript CreateObject调用创建。

 

此对象支持两种类型的属性和方法。本节中定义的是适用于所有WMI对象的通用属性和方法。此外,此对象将底层对象的属性和方法公开为SWbemObject的动态自动化属性和方法。这些属性和方法的名称和类型取决于底层的WMI对象。有关如何暴露这些动态属性和方法的更多信息,请参阅操纵类和实例信息.

 

从WMI客户端的角度来看,此对象始终处于进程中。写操作只影响对象的本地副本,并且读取操作始终从本地副本检索值。仅当使用调用SWbemObject.Put_方法写入整个对象时才执行对WMI的更新。如果修改SWbemObject对象中的属性或方法,则在调用SWbemObject.Put_之前,您的更改不会写入WMI。

 

此部分中定义的通用方法和属性名称始终以尾部下划线(“_”)结尾,以区别于动态WMI方法和底层对象的属性。

 

请注意,无法使用VBScript GetObject.method创建SWbemObject.如果要创建一个新的空类,请使用空的路径参数SWbemServices.Get.此调用返回一个空的SWbemObject对象,可以成为一个类。然后,您可以为路径_呼叫返回的SWbemObjectPath对象的属性提供一个类名。通过属性_方法将属性添加到新类。要创建一个实例,请在新类上调用GetObject.

 

以下代码示例显示了如何获取一个新类并向其添加一个属性。表示该类的SWbemObject对象必须通过调用放_写回WMI存储库。

 

wbemCimtypeString = 8

设置objSWbemService = GetObject(“Winmgmts:root \\ default”)

设置objClass = objSWbemService.Get()

objClass.Path_.Class =“NewClass”

 

'添加一个属性

'String属性

objClass.Properties_.add“PropertyName”,wbemCimtypeString

'使物业成为关键财产

objClass.Properties _(“PropertyName”)。Qualifiers_.add“key”,true

 

'将新类写入存储库中的root \\ default命名空间

设置objClassPath = objClass.Put_

WScript.Echo objClassPath.Path

 

'使用SWbemObject.SpawnInstance创建一个新类的实例

设置objNewInst = GetObject(_

 “Winmgmts:root \\ default:NewClass”)。spawninstance_

 

objNewInst.PropertyName =“我的实例”

 

'将实例写入仓库

设置objInstancePath = objNewInst.Put_

WScript.Echo objInstancePath.Path

 

您可以使用诸如CIM工作室的查看工具来检查存储库,以验证是否显示新的类和实例。有关从存储库中删除类和实例的示例,请参阅SWbemServices.DeleteSWbemObject.Delete_.

 

方法

 

SWbemObject对象定义了以下方法。

 

方法

描述

Associators_

检索对象的关联者。

AssociatorsAsync_

异步检索对象的关联器。

克隆_

制作当前对象的副本。

CompareTo_

测试两个对象的平等。

删除_

从WMI中删除该对象。

DeleteAsync_

从WMI异步删除对象。

ExecMethod_

执行方法提供者导出的方法。

ExecMethodAsync_

异步执行方法提供者导出的方法。

GetObjectText_

检索对象的文本表示(MOF语法)。

Instances_

返回对象的实例集合(它必须是WMI类)。

InstancesAsync_

异步返回一个对象的实例集合(它必须是一个WMI类)。

放_

在WMI中创建或更新对象。

PutAsync_

在WMI中异步创建或更新对象。

References_

返回对该对象的引用。

ReferencesAsync_

异步返回对象的引用。

SpawnDerivedClass_

从当前对象(必须是WMI类)创建一个新的派生类。

SpawnInstance_

从当前对象创建一个新的实例。

Subclasses_

返回对象(它必须是WMI类)的子类的集合。

SubclassesAsync_

异步返回对象的子集合(它必须是WMI类)。

 

属性

 

SWbemObject对象定义了以下属性。

 

属性

描述

Derivation_

包含描述类的派生层次结构的字符串数组。

方法_

一个SWbemMethodSet对象,它是该对象的方法集合。

路径_

包含表示当前类或实例的对象路径的SWbemObjectPath对象。

属性_

作为此对象的属性集合的SWbemPropertySet对象。

Qualifiers_

作为此对象的限定符集合的SWbemQualifierSet对象。

安全_

包含用于读取或更改安全设置的SWbemSecurity对象。

 

要求

 

客户

需要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。

DLL

需要Wbemdisp.dll。