Objeto SWbemObject
Puede usar los métodos y las propiedades del objeto SWbemObject para representar una definición de clase o instancia de objeto de Instrumental de administración de Windows (WMI). La llamada CreateObject de VBScript no puede crear este objeto.
Este objeto admite dos tipos de propiedades y métodos. Los que se definen en esta sección son propiedades y métodos genéricos que se aplican a todos los objetos WMI. Además, este objeto expone las propiedades y los métodos del objeto subyacente como propiedades y métodos de automatización dinámicos de SWbemObject. Los nombres y tipos de estas propiedades y métodos dependen del objeto WMI subyacente. Para más información sobre cómo se exponen estas propiedades y métodos dinámicos, consulte Manipulación de la información de clases e instancias.
Desde la perspectiva del cliente WMI, este objeto siempre está en proceso. Las operaciones de escritura solo afectan a la copia local del objeto y las operaciones de lectura siempre recuperan valores de la copia local. WMI solo se actualiza cuando se escriben objetos enteros mediante una llamada al módulo SWbemObject.Put_. Si modifica las propiedades o los métodos de un objeto SWbemObject, los cambios no se escriben en WMI hasta que llama a SWbemObject.Put_.
Los nombres de propiedades y métodos genéricos que se definen en esta sección siempre terminan con un carácter de subrayado ("_") para diferenciarlos de los métodos y propiedades WMI dinámicos del objeto subyacente.
Tenga en cuenta que no se puede crear SWbemObject con el método GetObject.VBScript. Si desea crear una clase vacía, use SWbemServices.Get con un parámetro de ruta de acceso vacío. Esta llamada devuelve un objeto SWbemObject vacío que puede convertirse en una clase. Luego, puede suministrar un nombre de clase para la propiedad Class del objeto SWbemObjectPath devuelto por la llamada Path_. Agregue propiedades a la clase nueva con el método Properties_. Para crear una instancia, llame a GetObject en la clase nueva.
En el ejemplo de código siguiente, se muestra cómo obtener una clase nueva y agregarle una propiedad. El objeto SWbemObject que representa la clase se debe volver a escribir en el repositorio WMI mediante una llamada a 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
Puede examinar el repositorio con una herramienta de visualización, como CIM Studio, para comprobar que aparecen la clase e instancia nuevas. Para un ejemplo de cómo quitar una clase y una instancia del repositorio, consulte SWbemServices.Delete o SWbemObject.Delete_.
Miembros
El objeto SWbemMethod contiene estos tipos de miembros:
Métodos
El objeto SWbemObject tiene estos métodos.
Method | Descripción |
---|---|
Associators_ | Recupera los asociadores del objeto. |
AssociatorsAsync_ | Recupera los asociadores del objeto de manera asincrónica. |
Clone_ | Realiza una copia del objeto actual. |
CompareTo_ | Comprueba si dos objetos son iguales. |
Delete_ | Elimina el objeto de WMI. |
DeleteAsync_ | Elimina el objeto de WMI de manera asincrónica. |
ExecMethod_ | Ejecuta un método exportado por un proveedor de métodos. |
ExecMethodAsync_ | Ejecuta un método exportado por un proveedor de métodos de manera asincrónica. |
GetObjectText_ | Recupera la representación textual del objeto (sintaxis MOF). |
Instances_ | Devuelve una colección de instancias del objeto (que debe ser una clase WMI). |
InstancesAsync_ | Devuelve una colección de instancias del objeto (que debe ser una clase WMI) de manera asincrónica. |
Put_ | Crea o actualiza el objeto en WMI. |
PutAsync_ | Crea o actualiza el objeto en WMI de manera asincrónica. |
References_ | Devuelve referencias al objeto. |
ReferencesAsync_ | Devuelve referencias al objeto de manera asincrónica. |
SpawnDerivedClass_ | Crea una clase derivada del objeto actual (que debe ser una clase WMI). |
SpawnInstance_ | Crea una instancia a partir del objeto actual. |
Subclasses_ | Devuelve una colección de subclases del objeto (que debe ser una clase WMI). |
SubclassesAsync_ | Devuelve una colección de subclases del objeto (que debe ser una clase WMI) de manera asincrónica. |
Propiedades
El objeto SWbemObject tiene estas propiedades.
Propiedad | Tipo de acceso | Descripción |
---|---|---|
Derivation_ |
Solo lectura |
Contiene una matriz de cadenas que describe la jerarquía de derivación de la clase. |
Methods_ |
Solo lectura |
Objeto SWbemMethodSet que es la colección de métodos para este objeto. |
Path_ |
Solo lectura |
Contiene un objeto SWbemObjectPath que representa la ruta de acceso del objeto de la clase o instancia actual. |
Properties_ |
Solo lectura |
Objeto SWbemPropertySet que es la colección de propiedades de este objeto. |
Qualifiers_ |
Solo lectura |
Objeto SWbemQualifierSet que es la colección de calificadores de este objeto. |
Seguridad_ |
Solo lectura |
Contiene un objeto SWbemSecurity que se usa para leer o cambiar la configuración de seguridad. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Encabezado |
|
Biblioteca de tipos |
|
Archivo DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |