La tecnología Instrumental de administración de Windows (WMI) de Microsoft es la implementación de Microsoft de la iniciativa Web-Based Enterprise Management (WBEM) del Grupo de trabajo de administración distribuida (DMTF) que amplía el Modelo de información común (CIM) para representar a los objetos de administración en entornos de administración basados en Windows. El Modelo de información común, que también es un estándar de DMTF, es un modelo de datos extensible para organizar lógicamente objetos de administración de forma coherente y unificada en un entorno administrado.

WBEM, que se basa en el Modelo de información común, es una iniciativa y una tecnología de DMTF que establece estándares de infraestructuras de administración y ofrece una forma estandarizada de obtener acceso a información de varios sistemas de administración de hardware y software en un entorno empresarial. Los estándares de WBEM permiten a los programadores crear herramientas y tecnologías que reducen la complejidad y los costos de la administración corporativa. Mediante estos estándares, WBEM contribuye a los esfuerzos de todo el sector por reducir el costo total de propiedad (TCO). El TCO incluye los costos administrativos asociados con la adquisición, la implementación y la configuración de hardware y software, así como las actualizaciones, el aprendizaje, el mantenimiento y el soporte técnico relacionados con el hardware y el software.

WBEM ofrece un punto de integración a través del cual se puede obtener acceso a los datos de las fuentes de administración; asimismo, complementa y amplía los protocolos e instrumentales de administración existentes, como el Protocolo simple de administración de redes (SNMP), la Interfaz de administración de escritorio (DMI) y el Protocolo de administración de información común (CMIP).

Tecnología Instrumental de administración de Windows

La tecnología Instrumental de administración de Windows (WMI) es una infraestructura de administración que admite la sintaxis de CIM, MOF (Managed Object Format) y una interfaz de programación común. La sintaxis de MOF define la estructura y el contenido del esquema CIM en formato legible para el usuario y para el equipo. Instrumental de administración de Windows ofrece un conjunto eficaz de servicios, que incluyen la recuperación de información mediante consultas y la notificación de eventos. El acceso a estos servicios y los datos de administración se realiza mediante una interfaz de programación COM (Modelo de objetos componentes). La interfaz de scripting de WMI también es compatible con scripting.

La tecnología WMI ofrece lo siguiente:

  • Acceso para supervisar y controlar cualquier objeto administrado mediante un conjunto de interfaces común y unificador, independientemente del mecanismo de instrumental subyacente. WMI es un mecanismo de acceso.

  • Un modelo coherente de funcionamiento, configuración y estado de los sistemas operativos Windows.

  • Una interfaz de programación de aplicaciones (API) COM que ofrece un punto de acceso único a toda la información de administración.

  • Interoperabilidad con otros servicios de administración de Windows. Este enfoque permite simplificar el proceso de creación de soluciones de administración integradas y con una arquitectura adecuada.

  • Una arquitectura flexible y extensible. Los programadores pueden ampliar el modelo de información para abarcar nuevos dispositivos, aplicaciones, etc. escribiendo módulos de código denominados proveedores WMI.

  • Extensiones del Modelo de controlador de Windows (WDM) para capturar datos y eventos de instrumental procedentes de controladores de dispositivos y componentes del kernel.

  • Una arquitectura de eventos eficaz. Esto permite identificar, agregar, comparar y asociar las modificaciones de la información de administración con otra información de administración. Estas modificaciones también se pueden reenviar a aplicaciones de administración locales o remotas.

  • Lenguaje de consulta completo que permite realizar consultas detalladas del modelo de información.

  • API que se puede usar en scripts y que los programadores pueden utilizar para crear aplicaciones de administración. La API de scripting admite varios lenguajes, que incluyen Microsoft Visual Basic, Visual Basic para Aplicaciones (VBA), Visual Basic Scripting Edition (VBScript) y el software de desarrollo Microsoft JScript. Además de VBScript y JScript, los programadores pueden utilizar cualquier implementación de lenguaje de scripting que admita tecnologías de scripting Microsoft ActiveX con esta API (por ejemplo, un motor de scripting Perl). Asimismo, se puede utilizar Windows Script Host o Microsoft Internet Explorer para escribir scripts mediante esta interfaz. Windows Script Host, al igual que Internet Explorer, se puede utilizar como motor controlador de los motores de scripting ActiveX. Windows Script Host admite scripts escritos con VBScript y JScript.

Introducción a la arquitectura de WMI

La arquitectura de tecnología WMI está formada por lo siguiente:

  • Una infraestructura de administración. Esto incluye el Administrador de objetos CIM, que proporciona aplicaciones con acceso uniforme a los datos de administración y a un área de almacenamiento central para datos de administración denominada repositorio del Administrador de objetos CIM.

  • Proveedores WMI. Actúan como intermediarios entre el Administrador de objetos CIM y los objetos administrados. Gracias a estas API de WMI, los proveedores pueden proporcionar al Administrador de objetos CIM los datos de los objetos administrados, atender solicitudes en nombre de las aplicaciones de administración y generar notificaciones de eventos.

La infraestructura de administración está formada por el Administrador de objetos CIM y el repositorio del Administrador de objetos CIM. Las aplicaciones dependen del Administrador de objetos para encargarse de la interfaz entre las aplicaciones de administración y los proveedores de datos. WMI facilita estas comunicaciones proporcionando una interfaz de programación común para los servicios de administración de Windows que utilizan COM. Esta API COM proporciona servicios de notificación de eventos y procesamiento de consultas, y se puede utilizar en varios entornos de lenguaje de programación, como C y C++. El repositorio del Administrador de objetos CIM alberga los esquemas de CIM y de extensión, así como información acerca de los datos o detalles sobre el origen de los datos. El Administrador de objetos CIM utiliza los datos de esquemas en este repositorio cuando atiende solicitudes de aplicaciones de administración para objetos administrados.

Los objetos administrados son componentes empresariales físicos o lógicos que se modelan mediante CIM. Por ejemplo, un objeto administrado puede ser hardware, como un cable, o software, como una aplicación de base de datos. Las aplicaciones de administración pueden obtener acceso a los objetos administrados mediante el Administrador de objetos CIM.

Las aplicaciones de administración son aplicaciones o servicios de Windows que utilizan o procesan información procedente de objetos administrados. Las aplicaciones de administración pueden obtener acceso a la información de objetos administrados realizando una solicitud al Administrador de objetos CIM con uno de los métodos de la API de WMI.

Los proveedores WMI son servidores COM y DCOM (Modelo de objetos componentes distribuido) estándar que actúan como mediadores entre los objetos administrados y el Administrador de objetos CIM. Si el Administrador de objetos CIM recibe una solicitud de una aplicación de administración para obtener datos que no están disponibles en el repositorio del Administrador de objetos CIM o notificaciones de eventos que no son compatibles con el Administrador de objetos CIM, reenviará la solicitud a un proveedor WMI. Los proveedores proporcionan datos y notificaciones de eventos para objetos administrados específicos de su dominio particular.

Para implementar un proveedor, debe utilizar uno de los tipos de servidores admitidos siguientes:

• Servicios de Microsoft Windows Server 2008, local o remoto.

• Ejecutables estándar (archivos .exe), locales o remotos.

• Bibliotecas de vínculos dinámicos (DLL) en proceso.

Tenga en cuenta que los Servicios de Microsoft Windows Server 2008 y los ejecutables estándar, locales o remotos, son tipos de servidor recomendados.

WMI se suministra con los proveedores integrados (o estándar) que proporcionan datos de orígenes como el Registro del sistema. Los proveedores integrados incluyen los siguientes:

  • Proveedor Active Directory: actúa como puerta de enlace a toda la información almacenada en el servicio Active Directory. Ofrece acceso a la información de WMI y Active Directory con una sola API.

  • Proveedor Windows Installer: ofrece un control total de Windows Installer y la instalación de software mediante WMI. También proporciona información acerca de cualquier aplicación instalada con Windows Installer.

  • Proveedor Contador de rendimiento: expone la información sin formato del contador de rendimiento que se utiliza para calcular los valores de rendimiento que muestra la herramienta Monitor de sistema. Todos los contadores de rendimiento instalados en un sistema estarán visibles automáticamente mediante este proveedor.

  • Proveedor Registro: permite crear, leer y escribir claves del Registro. Se pueden generar eventos de WMI cuando se modifican las claves del Registro especificadas.

  • Proveedor SNMP: actúa como puerta de enlace a los sistemas y dispositivos que utilizan SNMP (Protocolo simple de administración de redes) para la administración. Se pueden leer y escribir variables de objeto MIB SNMP. Las capturas de SNMP se pueden asignar automáticamente a eventos de WMI.

  • Proveedor Registro de eventos: ofrece acceso a datos y notificaciones de eventos del registro de eventos de Windows Server 2008.

  • Proveedor Win32: ofrece información acerca del sistema operativo, el sistema del equipo, los dispositivos periféricos, los sistemas de archivos y la seguridad.

  • Proveedor WDM: ofrece información acerca de los controladores Modelo de controlador de Windows de nivel bajo para dispositivos de entrada de usuario, dispositivos de almacenamiento, interfaces de red y puertos de comunicaciones.

  • Proveedor de vistas: permite crear nuevas clases agregadas a partir de clases existentes. Es posible filtrar las clases de origen para obtener sólo la información interesante, combinar información de varias clases en una sola y agregar datos de varios equipos en una sola vista.

La tecnología WMI también es compatible con proveedores personalizados de terceros. Se pueden utilizar proveedores personalizados para atender las solicitudes relacionadas con los objetos administrados específicos de un entorno. Los proveedores suelen utilizar el lenguaje MOF para definir y crear clases. Los proveedores utilizan la API de WMI para obtener acceso al repositorio del Administrador de objetos CIM y responder a las solicitudes del Administrador de objetos CIM inicialmente realizadas por aplicaciones.

Introducción a Protocolo simple de administración de redes

El Protocolo simple de administración de redes (SNMP) es un estándar de administración de redes que define una estrategia para administrar las redes TCP/IP.

SNMP utiliza una arquitectura distribuida que incluye lo siguiente:

  • Varios nodos administrados, cada uno con una entidad SNMP denominada agente que proporciona acceso remoto al instrumental de administración.

  • Como mínimo, una entidad SNMP denominada administrador que ejecuta las aplicaciones de administración para supervisar y controlar los elementos administrados. Los elementos administrados son dispositivos como hosts, enrutadores, etc. Se supervisan y controlan obteniendo acceso a su información de administración.

  • Un protocolo simple de administración, SNMP, se utiliza para transmitir información de administración entre las estaciones y los agentes de administración. La información de administración hace referencia a un grupo de objetos administrados residentes en un almacén de información virtual denominado Base de datos de información de administración (MIB).

Mensajes SNMP

Para comunicar información sobre hosts, los sistemas y agentes de administración utilizan mensajes SNMP. Estos mensajes se envían mediante el Protocolo de datagramas de usuario (UDP) y se enrutan entre el sistema de administración y el host mediante el protocolo de Internet (IP).

Una base de datos de información de administración contiene la información solicitada por el sistema de administración. Puede que la MIB de un equipo en red incluya información sobre la configuración y el rendimiento de la tarjeta de interfaz de red, el espacio disponible en el disco duro, la versión de los controladores y las aplicaciones, etc. Se pueden escribir y cargar MIB adicionales a fin de exponer los datos especificados para su recopilación, siempre que el propio sistema admita la recopilación de la información solicitada.

Procesamiento de solicitudes de información

Cuando un sistema de administración solicita información, tiene lugar la secuencia siguiente:

  1. Un sistema de administración envía una solicitud a un agente con la dirección IP de éste.

  2. El agente forma un datagrama SNMP que contiene un mensaje SNMP y el nombre de la comunidad a la cual pertenece el sistema de administración.

  3. El agente SNMP recibe el datagrama y confirma el nombre de la comunidad. Si el nombre de la comunidad es válido, el agente SNMP recupera los datos apropiados. De lo contrario, si el nombre de la comunidad no es válido, se rechazará la solicitud. Si se ha configurado el agente para que envíe una captura de autenticación, se enviará un mensaje de captura.

  4. Se devolverá el datagrama SNMP al sistema de administración con la información solicitada.

Mensajes

Se utilizan los tipos de mensaje SNMP siguientes:

  • GetThis es un mensaje de solicitud. Los sistemas de administración SNMP utilizan los mensajes Get para solicitar información sobre una entrada de MIB en un agente SNMP.

  • Getnext es un tipo de mensaje de solicitud que se puede utilizar para examinar la totalidad de un árbol de objetos administrados.

  • Getbulk es un tipo de solicitud que especifica que el agente transfiere tantos datos como es posible, dentro de los límites del tamaño de los mensajes.

  • SetThis se utiliza para enviar y asignar un valor de MIB actualizado a un agente.

  • Notify (o Trap) es un mensaje no solicitado que un agente envía a un sistema de administración SNMP cuando detecta un tipo determinado de evento que ha ocurrido localmente en el host administrado.

Los eventos (o capturas) SNMP se envían sin ser solicitados a una estación de administración que filtra los eventos; por lo tanto, implica tráfico de red. Con WMI, los eventos se filtran localmente y sólo se envían por la red los que cumplen los criterios de filtro, con lo que se reduce el ancho de banda necesario para los eventos de interés.

Compatibilidad del SDK de WMI con SNMP

El proveedor SNMP incluye los componentes siguientes:

  • Proveedores de clases, instancias y eventos que integran el modelado y procesamiento de la información de SNMP en WMI. Estos proveedores SNMP asignan colecciones de valores de objetos a valores de propiedades de instancias de clase CIM.

  • Compilador de módulos de información SNMP que compila información nativa de esquemas SNMP en el formato que utiliza CIM.

Proveedores SNMP

Los proveedores SNMP devuelven información dinámica. El conjunto de clases con que funcionará el proveedor de instancias se puede especificar de dos modos:

  • Estáticamente: creando clases en el espacio de nombres del repositorio de objetos de CIM asociado con el dispositivo proxy.

  • Dinámicamente: utilizando el proveedor de clase SNMP, que devuelve el conjunto de clases que se encuentran en el espacio de nombres del repositorio de información de módulos SNMP (SMIR).

Asimismo, también se puede especificar si se utilizará o no la correlación para el conjunto de clases devuelto desde el espacio de nombres de SMIR. Las clases correlacionadas definen el conjunto de clases que se sabe que admite un agente SNMP determinado cuando se produce la enumeración. La enumeración no correlacionada devuelve todas las clases presentes en el espacio de nombres de SMIR, independientemente de si el dispositivo de agente las admite o no.

Los proveedores SNMP incluyen lo siguiente:

  • Proveedores de clase e instancia SNMP, que las aplicaciones utilizan para obtener acceso a los datos que pertenecen a dispositivos SNMP y modificarlos.

  • Proveedores de eventos SNMP, que generan eventos a partir de capturas y notificaciones de SNMP. Estos notifican los mismos tipos de eventos pero con formatos distintos: encapsulado y referente. Encapsulado significa que la clase de evento tiene propiedades simples que describen la información asignada directamente desde las macros TRAP-TYPE y NOTIFICATION-TYPE, descritas en la sección siguiente. Las clases referentes resumen la información presente en las macros para que las propiedades que comparten la misma clase e instancia se presenten como objetos incrustados. Esto permite la extracción de __RELPATH para que la instancia única a la que está asociada la captura se pueda recuperar tras la recepción del evento. Para seleccionar un formato, los consumidores se registran para una clase de eventos determinada.

Asignación de datos de dispositivos a clases CIM

Los proveedores SNMP asignan datos de dispositivos a clases CIM con los métodos siguientes:

  • Enumeración de definiciones de clase SNMP. Para enumerar un conjunto de definiciones de clase, las aplicaciones pueden llamar a IWbemServices::CreateClassEnum o IWbemServices::CreateClassEnumAsync.

    Los objetos MIB se asignan a las clases CIM SNMP con la macro OBJECT-TYPE; los eventos se asignan a las clases con las macros TRAP-TYPE y NOTIFICATION-TYPE.

    La macro OBJECT-TYPE se usa para describir las características básicas de un objeto MIB. Las macros SNMPv1 TRAP-TYPE y SNMPv2C NOTIFICATION-TYPE describen las características de un evento SNMP.

  • Creación de instancias de definiciones de clase SNMP. Para crear una instancia de una definición de clase, las aplicaciones pueden llamar a IWbemServices::GetObject o IWbemServices::GetObjectAsync.

  • Enumeración de instancias de clase SNMP. El proveedor de instancia SNMP atiende las solicitudes de enumeración de instancias asociadas con clases que representan MIB de dispositivos.

  • Creación de instancias de clase SNMP. El proveedor de instancia SNMP procesa las solicitudes de creación de instancias de clases que representan objetos MIB.

  • Recuperación de instancias de clase SNMP. Para recuperar una instancia determinada de una clase CIM SNMP, las aplicaciones pueden llamar a IWbemServices::GetObject o IWbemServices::GetObjectAsync.

SNMP y el esquema CIM

El esquema que SNMP utiliza para definir objetos es distinto del que se utiliza en el Modelo de información común de WMI. El esquema SNMPv1 y SNMPv2 se denomina Estructura de la información de administración (SMI); está empaquetado como archivos MIB. Para definir objetos, los archivos MIB utilizan ASN.1 (Notación de sintaxis abstracta 1), un lenguaje estándar, y definiciones de macro que se utilizan como plantillas para describir los objetos. Estas macros proporcionan información sobre el objeto, incluido el nombre, el identificador, la sintaxis, la descripción, los derechos de acceso, etc.

Los proveedores SNMP de WMI convierten estas macros de MIB:

  • OBJECT-TYPE Describe las características básicas de un objeto, como el nombre del objeto, la sintaxis, los derechos de acceso, etc. Pertenece a SNMPv1 y SNMPv2C.

  • TEXTUAL-CONVENTION Asigna un nombre y, en algunos casos, un intervalo de valores a un tipo de datos existente. Pertenece únicamente a SNMPv2C.

  • TRAP-TYPE Describe los mensajes de eventos (capturas). Pertenece únicamente a SNMPv1.

  • NOTIFICATION-TYPE Describe los mensajes de eventos (notificaciones). Pertenece únicamente a SNMPv2C.

El proveedor de clase SNMP enumera y crea instancias de un conjunto de definiciones de clases en referencia a un espacio de nombres de CIM. Para ello, utiliza un correlacionador MIB y el repositorio de información de módulos SNMP, una base de datos de esquema SNMP. El proveedor de clase SNMP admite los modos correlacionado y no correlacionado. Para designar uno de estos modos, se establece un valor de contexto (IWbemContext) correlacionado del tipo booleano y se pasa al método IWbemServices. El proveedor de clase SNMP admite tanto la enumeración de definiciones de clases como la recuperación de la definición de una clase.

El proveedor de instancia SNMP asigna objetos MIB SNMP a instancias de clase.

Espacio de nombres SNMP

Para definir una vista de un dispositivo de red, se utiliza un espacio de nombres SNMP. Se puede crear un espacio de nombres SNMP mediante la aplicación CIM Studio de WMI del SDK de WMI, compilando un archivo MOF, o mediante programación con la API de WMI.

La clase del sistema de espacio de nombres se utiliza para representar un espacio de nombres SNMP. Para generar un espacio de nombres nuevo, se crea una instancia de esta clase. Se debe asociar al menos un descriptor (o calificador) con la instancia de clase. Los calificadores contienen información de contexto específica de la implementación, así como propiedades de transporte que definen el modo en que los proveedores SNMP obtienen acceso a un agente SNMP.

Representación de dispositivos SNMP

Los dispositivos SNMP están representados en WMI con un espacio de nombres de proxy que contiene un conjunto de calificadores de instancias. Estos calificadores describen las características de transporte que pertenecen al dispositivo. WMI utiliza un archivo MOF, snmpreg.mof, para crear el espacio de nombres \\.\root\snmp\localhost. Se trata de un espacio de nombres estándar que representa al agente SNMP local.

SNMPv2C

SNMPv2C es compatible con el contexto WMI. El objetivo principal de SNMPv2C era proporcionar un contexto de mayor seguridad para SNMP. Esta versión utiliza la característica de autenticación basada en contraseña simple y poco segura, conocida como característica de comunidad (incluida en SNMPv1). La SMI de SNMPv2 realiza una serie de aportaciones y mejoras a la seguridad de comunidad, como la inclusión de cadenas de bits, direcciones de red y contadores en los tipos de datos específicos de la SMI de SNMPv1. Además, la SMI de SNMPv2 indica módulos de información, que especifican un grupo de definiciones relacionadas. SNMPv2 también define dos operaciones de protocolo nuevas: GetBulk e Inform.

Seguridad

La seguridad de WMI valida la información de inicio de sesión de un usuario tanto para el equipo local como para el acceso remoto. WMI concede a un usuario validado una forma de acceso controlado a la totalidad del repositorio CIM. En su versión actual, WMI no proporciona seguridad para recursos del sistema como clases e instancias individuales. Sin embargo, los administradores pueden utilizar WMI para controlar los permisos globales en operaciones de esquema, como limitar el acceso de algunos usuarios a operaciones de sólo lectura. WMI también es compatible con la seguridad por espacio de nombres. Además, el proveedor SNMP es compatible con todas las formas de seguridad basadas en SNMP, incluidas las mejoras de seguridad de SNMPv2C.

Compilador de módulos de información SNMP

El compilador de módulos de información SNMP se utiliza para compilar información de administración de SNMP nativa que se define en una MIB en una definición de esquema CIM equivalente que se puede utilizar con los proveedores SNMP. El esquema CIM puede existir como resultado en un archivo MOF o se puede cargar en una base de datos de esquema SNMP (el repositorio de información de módulos SNMP o SMIR). El proveedor de clases dinámicas SNMP utiliza el repositorio de información de módulos SNMP para crear y recuperar instancias de definiciones de clase.

El compilador de módulos de información SNMP se ejecuta en modo de línea de comandos como un archivo ejecutable, utilizando un módulo de información SNMP como entrada y los archivos adicionales necesarios para resolver referencias externas. Los módulos de información SNMP son colecciones de información de administración que suelen estar formadas por una combinación de módulos MIB con instrucciones AGENT-CAPABILITIES y MODULE-COMPLIANCE. Las instrucciones AGENT-CAPABILITIES describen el cumplimiento de un agente del conjunto de módulos MIB compatibles. Las instrucciones MODULE-COMPLIANCE describen las capacidades de un agente respecto a las definiciones de objeto.

El compilador de módulos de información SNMP también ofrece las funciones siguientes:

  • Realiza operaciones de comprobación en el módulo de información. Por ejemplo, comprueba la sintaxis local y las referencias externas comparándolas con la información de los módulos subsidiarios.

  • Quita todos los datos previamente cargados del SMIR, o bien los datos cargados desde un módulo de información.

  • Devuelve el nombre de módulo ASN.1 de un archivo especificado o los nombres de módulo ASN.1 de todos los módulos importados de un archivo especificado.

  • Devuelve los nombres de módulo ASN.1 de todos los módulos de información SNMP cargados actualmente en el SMIR.

  • Realiza la resolución automática de los módulos importados en lugar de solicitar a los usuarios que especifiquen manualmente los módulos necesarios.

  • Aplica un modo de funcionamiento de carga silenciosa que no genera ninguna salida, pero que se puede utilizar para cargar datos en el SMIR durante una operación de instalación.

Vea también


Tabla de contenido