Compartir a través de


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
Wbemdisp.h
Biblioteca de tipos
Wbemdisp.tlb
Archivo DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObject
IID
IID_ISWbemObject

Consulte también

SWbemObjectEx

Objetos de API de scripting