Uso de WMI

Puede usar WMI desde aplicaciones y scripts de cliente. Proporciona una infraestructura que facilita la detección y la realización de tareas de administración. Además, puede realizar incorporaciones al conjunto de posibles tareas de administración si crea sus propios proveedores de WMI.

Nota

La versión de próxima generación de WMI para escribir aplicaciones y scripts está disponible mediante Management Infrastructure (MI) de Windows. Para obtener más información, vea Proveedores y clientes de MI.

En esta sección se explican los temas siguientes:

Obtención de datos de WMI

En el procedimiento siguiente se describe cómo obtener datos de WMI escribiendo un script o aplicación.

Procedimientos para obtener datos de WMI escribiendo un script o aplicación

  1. Decida qué lenguaje va a usar. Para obtener más información sobre el scripting, vea Creación de un script de WMI. Para obtener más información sobre C++, vea Creación de una aplicación WMI mediante C++. Para obtener más información sobre C# o WMI .NET, vea Introducción a WMI .NET.

    Puede ver o manipular datos de WMI en muchos lenguajes. En la tabla siguiente se enumeran los temas en los que se describe cómo usar los lenguajes de scripting y aplicación para obtener datos.

Idioma de la aplicación Tema
Scripts escritos en el hospedaje de scripts de Microsoft ActiveX, incluidos Visual Basic Scripting Edition (VBScript) y Perl
API de scripting para WMI.
Comience por Creación de un script de WMI.
Para obtener ejemplos de código de script, vea Tareas de WMI para scripts y aplicaciones y el repositorio de scripts ScriptCenter de TechNet.
Windows PowerShell
Introducción a Windows PowerShell.
Cmdlets de PowerShell de WMI, como Get-WmiObject.
Aplicaciones de Visual Basic
API de scripting para WMI.
páginas Active Server
API de scripting para WMI.
Comience por Creación de páginas de Active Server para WMI.
aplicaciones de C++
API COM para WMI.
Comience por Creación de una aplicación WMI mediante C++ y Ejemplos de aplicaciones de C++ de WMI (contiene ejemplos).
Aplicaciones de .NET Framework escritas en C#, Visual Basic .NET o J#
Clases del espacio de nombres Microsoft.Management.Infrastructure.
Nota:System.Management era el espacio de nombres original que abarcaba el código administrado para WMI. Pero la tecnología subyacente para System.Management suele ser más lenta que Microsoft.Management.Infrastructure, y no escala tan bien. Por lo tanto, no se recomienda usar System.Management para proyectos nuevos. (Para obtener más información sobre System.Management, vea Introducción a WMI .NET).
  1. Asegúrese de que las conexiones a equipos remotos funcionan.

    Para obtener más información, consulte Conexión a WMI en un equipo remoto (puede estar en inglés).

  2. La conexión a WMI en equipos remotos requiere la configuración de seguridad correcta, como se explica en Mantenimiento de la seguridad de WMI. En la tabla siguiente se enumeran los temas en los que se describe cómo configurar las opciones de seguridad con los lenguajes de scripting y aplicación.

    Lenguaje Tema
    Scripts en cualquier lenguaje, aplicaciones de Visual Basic
    Establecimiento del nivel de seguridad de proceso predeterminado mediante VBScript
    páginas Active Server
    Configuración de IIS 5 y versiones posteriores para scripting ASP de WMI
    C++
    Establecimiento del nivel de seguridad de proceso predeterminado mediante C++ y Establecimiento de la seguridad en IWbemServices y otros servidores proxy
  3. Después de conectarse a WMI, puede obtener datos mediante consultas y enumeraciones.

    Para obtener más información, vea Manipulación de información de clase e instancia y Consulta con WQL.

  4. Los datos del registro están disponibles mediante WMI, y se pueden crear claves y valores o modificar los existentes.

    Para obtener más información, vea Modificación del registro del sistema.

  5. Puede suscribirse a las notificaciones de eventos mediante WMI, ya sea temporalmente entre reinicios del sistema o permanentemente.

    Para obtener más información, vea Supervisión de eventos y Recepción de un evento WMI.

  6. Los datos del contador de rendimiento de un sistema están disponibles mediante WMI.

    Los contadores de la biblioteca de rendimiento del sistema se convierten en clases WMI. Para obtener más información, vea Supervisión de datos de rendimiento.

  7. En Tareas de WMI para scripts y aplicaciones se describe cómo realizar muchas tareas administrativas con WMI.

Suministro de datos a WMI

En el procedimiento siguiente se describe cómo proporcionar datos a WMI mediante la escritura de un proveedor.

Procedimientos para proporcionar datos a WMI mediante la escritura de un proveedor

  • Decida el tipo de proveedor que se va a escribir.

    No se puede escribir un proveedor de WMI en VBScript, pero es posible adoptar otros enfoques para escribir un proveedor COM de WMI:

    • Uso del Asistente ATL de WMI en Visual Studio.

      Este enfoque crea un proveedor COM no administrado. Para obtener más información, vea Incorporación de un proveedor de instancias de WMI e Incorporación de un proveedor de eventos de WMI.

    • Uso de COM directamente en cualquier entorno de desarrollo integrado.

      Este enfoque crea un proveedor COM no administrado.

    • Uso de WMI en .NET Framework para crear un proveedor de código administrado.

      Este enfoque crea un proveedor de código administrado. Los proveedores de código administrado se pueden escribir en cualquier lenguaje de .NET Framework, son más sencillos de escribir que los proveedores COM de WMI y pueden obtener datos de las clases basadas en CIM de WMI, como las clases Win32. Aun así, el proveedor WMI de .NET Framework tiene algunas limitaciones. Para obtener más información, vea Administración de aplicaciones mediante WMI.

    • No se recomienda usar las clases del marco de proveedor.

      Al marco de proveedor lo han reemplazado los asistentes ATL de WMI, el uso de COM directamente o los proveedores de .NET Framework. Ya no se recomienda crear un proveedor COM de WMI con las clases del marco de proveedor. En la tabla siguiente se muestra una lista de los temas en los que se describe cómo usar proveedores COM o .NET Framework.

    Proveedor Tema
    Proveedor COM en el mismo proceso que WMI
    Suministro de datos a WMI
    Proveedor COM desacoplado
    Incorporación de un proveedor en una aplicación
    Proveedor de .NET Framework en C# o Visual Basic.NET
    Administración de aplicaciones mediante WMI

Tareas importantes para WMI

En los temas siguientes se proporciona información sobre el uso de WMI para supervisar y controlar componentes empresariales.

Tema Descripción
Tareas de WMI para scripts y aplicaciones
Describe cómo encontrar la clase y los procedimientos de WMI correctos para su uso en scripts y aplicaciones que realizan tareas comunes de administración de equipos y redes, como agregar una nueva conexión de impresora para un equipo remoto o buscar todas las revisiones instaladas en un equipo.
Creación de una aplicación o script de WMI
Cualquier lenguaje de scripting, como VBScript o Perl, que funcione con objetos ActiveX puede acceder a datos de WMI. Las aplicaciones pueden acceder a WMI en C++ mediante la API COM para WMI o en Visual Basic, mediante la biblioteca de tipos Wbemdisp.tlb y la API de scripting para WMI.
Conexión a WMI en un equipo remoto
Describe la forma en que los scripts, aplicaciones y proveedores pueden establecer conexiones con WMI en equipos remotos para obtener datos o controlar el hardware y el software.
Conexión a WMI en un equipo remoto mediante Windows PowerShell
Describe cómo usar Windows PowerShell para establecer conexiones a WMI en equipos remotos para obtener datos o para controlar el hardware y el software.
Supervisión de eventos
Describe cómo obtener notificaciones de eventos mediante la creación de consumidores de eventos WMI temporales o permanentes.
Suministro de datos a WMI
WMI proporciona datos de administración dinámica a aplicaciones y scripts de cliente al obtenerlos de proveedores.
Obtención y suministro de datos en un equipo de 64 bits
Describe cómo acceder a proveedores no predeterminados e incluye consideraciones para los escritores de proveedores en sistemas de 64 bits.