Esta documentación está archivada y no tiene mantenimiento.

Resumen de la tecnología para WMI .NET

.NET Framework 2.0

Instrumental de administración de Windows (WMI) es un componente del sistema operativo Windows que permite obtener acceso mediante programación a información de administración en un entorno empresarial. WMI en .NET Framework se basa en la tecnología WMI original y permite el mismo desarrollo de aplicaciones y proveedores, además de las ventajas que ofrece la programación en .NET Framework. Para obtener más información, vea Ventajas de WMI en .NET Framework.

Las clases .NET Framework que utilizan WMI se encuentran en los espacios de nombres System.Management y System.Management.Instrumentation. Sin embargo, las aplicaciones de código administrado, basadas en .NET Framework, presentan algunas limitaciones que no tienen las aplicaciones y los proveedores de WMI original. Para obtener más información, vea Limitaciones de WMI en .NET Framework.

Palabras clave

Calificador, proveedor, lenguaje de consulta WMI, consumidor de eventos, modelo de información común, asincrónico, semisincrónico, esquema Win32, aplicación de administración

Espacios de nombres

System.Management, System.Management.Instrumentation

Tecnologías relacionadas

Instrumental de administración de Windows (WMI)

WMI en .NET Framework se basa en la tecnología WMI original. Para obtener más información sobre WMI original, vea el artículo (en inglés) sobre WMI, en la documentación referente a Instrumental de administración de Windows de MSDN Library, en la dirección http://msdn.microsoft.com/library.

Información previa

La versión no administrada de WMI es la implementación de Microsoft de WBEM (Web-Based Enterprise Management), una iniciativa del sector desarrollada para normalizar la tecnología de administración de entornos informáticos empresariales. WMI utiliza clases basadas en el estándar del sector CIM (modelo de información común) para representar sistemas, procesos, redes, dispositivos y otros componentes empresariales.

WMI suministra un esquema de clases preinstalado que permite a secuencias de comandos o aplicaciones programadas con lenguajes de secuencias de comandos, Visual Basic o C++, supervisar y configurar aplicaciones, componentes de sistema o de red y hardware de una organización. Por ejemplo, las instancias de la clase Win32_Process representan todos los procesos de un equipo y la clase Win32_LogicalDisk puede representar los dispositivos de disco. Para obtener más información, vea el artículo (en inglés) sobre clases Win32, en la documentación referente a Instrumental de administración de Windows de MSDN Library, que se encuentra en la dirección http://msdn.microsoft.com/library.

La arquitectura de WMI consta de los niveles siguientes:

  • Los componentes de software cliente realizan operaciones mediante WMI, como leer detalles de administración, configurar sistemas y realizar suscripciones a eventos.

  • El administrador de objetos es un intermediario entre los proveedores y los clientes que proporciona ciertos servicios esenciales, como la publicación y suscripción estándar de eventos, el filtrado de eventos, motor de consultas y otros servicios.

  • Los componentes de software de proveedor capturan y devuelven datos activos a las aplicaciones cliente, procesan llamadas a métodos procedentes de los clientes y vinculan al cliente con la infraestructura que se está administrando.

Para obtener más información general sobre WMI y WMI .NET, vea Esquema de WMI y .NET Framework. Para obtener más información sobre clases, métodos y proveedores previamente suministrados, vea el artículo (en inglés) sobre WMI, en la documentación referente a Instrumental de administración de Windows de MSDN Library, que se encuentra en la dirección http://msdn.microsoft.com/library. Para obtener más información sobre los espacios de nombres System.Management y System.Management.Instrumentation, vea la Referencia de la biblioteca de clases de .NET Framework. .NET Framework también contiene información general de programación de .NET Framework.

Implementación de clases WMI .NET

WMI en .NET Framework se basa en la tecnología WMI y permite el mismo desarrollo de aplicaciones y proveedores, con las ventajas que ofrece .NET Framework. Para obtener más información, vea Ventajas de WMI en .NET Framework. Sin embargo, las aplicaciones de código administrado creadas en .NET Framework presentan algunas limitaciones que no tienen los proveedores de WMI original. Para obtener más información, vea Limitaciones de WMI en .NET Framework.

WMI organiza sus clases reinstaladas en espacios de nombres. Los espacios de nombres WMI, como root\cimv2 y root\default, no deben confundirse con los espacios de nombres .NET Framework System.Management y System.Management.Instrumentation. El espacio de nombres System.Management contiene WMI en clases .NET Framework para llevar a cabo operaciones WMI. El espacio de nombres System.Management.Instrumentation contiene las clases para agregar instrumental a la aplicación.

Los administradores y los programadores de TI puede utilizar las clases de System.Management para escribir aplicaciones que obtengan acceso a datos WMI en cualquier lenguaje .NET, como ASP.NET, C#, Visual Basic .NET o J#. Estas aplicaciones pueden:

  • Enumerar o recuperar una colección de datos de propiedad de instancia, como la propiedad FreeSpace de todas las instancias de Win32_LogicalDisk en todos los equipos de una red. Para obtener más información, vea "Win32_LogicalDisk" en la documentación referente a Instrumental de administración de Windows de MSDN Library, en la dirección http://msdn.microsoft.com/library.

  • Consultar datos de instancias seleccionadas.

    WMI en .NET Framework utiliza el lenguaje de consulta de WMI original WQL, un subconjunto de SQL. Para obtener más información, vea el artículo (en inglés) sobre el lenguaje de consulta WQL, en la documentación referente a Instrumental de administración de Windows de MSDN Library, que se encuentra en la dirección http://msdn.microsoft.com/library.

  • Suscribirse a eventos, definidos como instancias de clases de eventos.

    Se produce un evento cuando una aplicación instrumentada (proveedor) crea una instancia de una de sus clases de eventos.

Los desarrolladores pueden utilizar las clases de System.Management.Instrumentation para instrumentar su aplicación de manera que proporcione datos a WMI acerca del comportamiento de la aplicación.

La instrumentación implica que cree sus propias clases e instancias con propiedades y métodos que almacenan datos sobre la aplicación en WMI. Al establecer determinados atributos para clases, puede designarlos como instrumental. Por ejemplo, su aplicación puede exponer datos sobre su estado y rendimiento o uso de recursos. La aplicación también puede suministrar datos a WMI sobre los dispositivos con los que interactúa la aplicación. Puede crear clases y registrarlas con WMI para que los datos estén a disposición de otras secuencias de comandos y aplicaciones. Una aplicación instrumentada es un proveedor de datos para WMI que funciona del mismo modo que los proveedores en WMI original.

La funcionalidad de WMI en .NET Framework se logra a través de una serie de herramientas WMI integradas en el entorno de desarrollo Microsoft Visual Studio .NET. Por ejemplo, puede utilizarse Server Explorer Management Extension de Visual Studio .NET (que se puede descargar desde http://www.microsoft.com/downloads/details.aspx?familyid=62d91a63-1253-4ea6-8599-68fb3ef77de1) como ayuda para desarrollar aplicaciones de administración.

Sinopsis de las clases WMI .NET

En las siguientes tablas se enumeran las clases principales que deben implementarse para cada una de las áreas de tareas especificadas. En los casos pertinentes, también se enumeran las interfaces y los elementos de configuración asociados. Ésta no es una lista exhaustiva de las clases de cada espacio de nombres, sino que incluye todas las clases que se muestran en los temas prácticos.

Espacio de nombres System.Management

Área de tecnología Clases/interfaces/elementos de configuración

Obtener información de clases WMI

ManagementObject, ManagementClass

Consultar datos

Consultar datos de forma asincrónica

SelectQuery, ManagementObjectSearcher, WqlObjectQuery, ObjectQuery

ManagementObjectCollection, ManagementOperationObserver

Ejecutar métodos

Ejecutar métodos de forma asincrónica

ManagementBaseObject

ManagementOperationObserver

Recibir eventos

Recibir eventos de forma asincrónica

WqlEventQuery, ManagementEventWatcher

EventArrivedEventArgs, EventArrivedEventHandler, CompletedEventArgs, CompletedEventHandler

Conectarse a un equipo remoto

ConnectionOptions, ManagementScope

Espacio de nombres System.Management.Instrumentation

Área de tecnología Clases/interfaces/elementos de configuración

Crear proveedores de datos

Instance, InstrumentationClassAttribute, InstrumentedAttribute

Crear proveedores de eventos

BaseEvent, Instrumentation

Registrar un proveedor

ManagementInstaller

Vea también

Mostrar: