You can use the methods and properties of the
SWbemObject object to represent one Windows Management Instrumentation (WMI) class definition or object instance. This object cannot be created by the VBScript CreateObject call.
This object supports two types of properties and methods. Those defined in this section are generic properties and methods that apply to all WMI objects. In addition, this object exposes the properties and methods of the underlying object as dynamic automation properties and methods of
SWbemObject. The names and types of these properties and methods depend on the underlying WMI object. For more information about how these dynamic properties and methods are exposed, see
Manipulating Class and Instance Information.
From the WMI client perspective, this object is always in-process. Write operations only affect the local copy of the object, and read operations always retrieve values from the local copy. Updates to WMI are performed only when entire objects are written using a call to the
SWbemObject.Put_ method. If you modify the properties or methods in an
SWbemObject
object, your changes are not written to WMI until you call
SWbemObject.Put_.
The generic method and property names defined in this section always end with a trailing underscore ("_") to differentiate them from the dynamic WMI methods and properties of the underlying object.
Note that
SWbemObject cannot be created using the VBScript
GetObject.method. If you want to create a new, empty class use
SWbemServices.Get with an empty path parameter. This call returns an empty
SWbemObject object that can become a class. You can then supply a class name for the
Class property of the
SWbemObjectPath object returned by the
Path_ call. Add properties to the new class by the
Properties_ method. To create an instance, call
GetObject on the new class.
The following code example shows how to obtain a new class and add a property to it. The
SWbemObject object representing the class must be written back to the WMI repository by a call to
Put_.
wbemCimtypeString = 8
Set objSWbemService = GetObject("Winmgmts:root\default")
Set objClass = objSWbemService.Get()
objClass.Path_.Class = "NewClass"
' Add a property
' String property
objClass.Properties_.add "PropertyName", wbemCimtypeString
' Make the property a key property
objClass.Properties_("PropertyName").Qualifiers_.add "key", true
' Write the new class to the root\default namespace in the repository
Set objClassPath = objClass.Put_
WScript.Echo objClassPath.Path
'Create an instance of the new class using SWbemObject.SpawnInstance
Set objNewInst = GetObject( _
"Winmgmts:root\default:NewClass").Spawninstance_
objNewInst.PropertyName = "My Instance"
' Write the instance into the repository
Set objInstancePath = objNewInst.Put_
WScript.Echo objInstancePath.Path
You can examine the repository with a viewing tool such as CIM Studio to verify that the new class and instance appear. For an example of removing a class and instance from the repository, see SWbemServices.Delete or SWbemObject.Delete_.
Methods
The SWbemObject object defines the following methods.
| Method | Description |
Associators_ |
Retrieves the associators of the object.
|
AssociatorsAsync_ |
Asynchronously retrieves the associators of the object.
|
Clone_ |
Makes a copy of the current object.
|
CompareTo_ |
Tests two objects for equality.
|
Delete_ |
Deletes the object from WMI.
|
DeleteAsync_ |
Asynchronously deletes the object from WMI.
|
ExecMethod_ |
Executes a method exported by a method provider.
|
ExecMethodAsync_ |
Asynchronously executes a method exported by a method provider.
|
GetObjectText_ |
Retrieves the textual representation of the object (MOF syntax).
|
Instances_ |
Returns a collection of instances of the object (which must be a WMI class).
|
InstancesAsync_ |
Asynchronously returns a collection of instances of the object (which must be a WMI class).
|
Put_ |
Creates or updates the object in WMI.
|
PutAsync_ |
Asynchronously creates or updates the object in WMI.
|
References_ |
Returns references to the object.
|
ReferencesAsync_ |
Asynchronously returns references to the object.
|
SpawnDerivedClass_ |
Creates a new derived class from the current object (which must be a WMI class).
|
SpawnInstance_ |
Creates a new instance from the current object.
|
Subclasses_ |
Returns a collection of subclasses of the object (which must be a WMI class).
|
SubclassesAsync_ |
Asynchronously returns a collection of subclasses of the object (which must be a WMI class).
|
Properties
The SWbemObject object defines the following properties.
| Property | Access type | Description |
Derivation_ | Read-only | Contains an array of strings that describes the derivation hierarchy for the class.
|
Methods_ | Read-only | An
SWbemMethodSet object that is the collection of methods for this object.
|
Path_ | Read-only | Contains an
SWbemObjectPath object that represents the object path of the current class or instance.
|
Properties_ | Read-only | An
SWbemPropertySet object that is the collection of properties for this object.
|
Qualifiers_ | Read-only | An
SWbemQualifierSet object that is the collection of qualifiers for this object.
|
Security_ | Read-only | Contains an
SWbemSecurity object used to read or change the security settings.
|
Requirements
| Minimum supported client | Windows 2000 Professional |
| Minimum supported server | Windows 2000 Server |
| Type Library | Wbemdisp.tlb |
| DLL | Wbemdisp.dll |
See Also
- SWbemObjectEx
- Scripting API Objects
Send comments about this topic to Microsoft
Build date: 11/3/2009