stringtranslate.com

Instrumental de administración de Windows

El Instrumental de administración de Windows ( WMI ) consiste en un conjunto de extensiones del Modelo de controladores de Windows que proporciona una interfaz de sistema operativo a través de la cual los componentes instrumentados proporcionan información y notificaciones. WMI es la implementación de Microsoft de los estándares Web-Based Enterprise Management (WBEM) y Common Information Model (CIM) del Distributed Management Task Force (DMTF).

WMI permite que los lenguajes de programación (como VBScript o Windows PowerShell ) administren computadoras personales y servidores de Microsoft Windows , tanto de forma local como remota. WMI viene preinstalado en los sistemas operativos Windows 2000 a Windows 11. Está disponible como descarga para Windows NT y [1] Windows 95 a Windows 98. [ 2]

Microsoft también proporciona una interfaz de línea de comandos para WMI llamada Windows Management Instrumentation Command-line ( WMIC ). [3] Sin embargo, WMIC está obsoleto a partir de Windows 10, versión 21H1 , Windows 11 y Windows Server 2022. [ 4]

Propósito de WMI

El objetivo de WMI es definir un conjunto propietario de especificaciones independientes del entorno que permiten compartir información de gestión entre aplicaciones de gestión. WMI prescribe estándares de gestión empresarial y tecnologías relacionadas para Windows que funcionan con estándares de gestión existentes, como Desktop Management Interface (DMI) y SNMP . WMI complementa estos otros estándares proporcionando un modelo uniforme. Este modelo representa el entorno gestionado a través del cual se puede acceder a los datos de gestión de cualquier fuente de una manera común.

Proceso de desarrollo

Debido a que WMI abstrae las entidades manejables con CIM y una colección de proveedores, el desarrollo de un proveedor implica varios pasos. Los pasos principales se pueden resumir de la siguiente manera:

  1. Crear el modelo de entidad manejable
    1. Definir un modelo
    2. Implementar el modelo
  2. Crear el proveedor WMI
    1. Determinar el tipo de proveedor a implementar
    2. Determinar el modelo de hosting del proveedor
    3. Cree la plantilla de proveedor con el asistente ATL
    4. Implementar la lógica del código en el proveedor
    5. Registrar el proveedor con WMI y el sistema
  3. Probar el proveedor
  4. Crear código de muestra para el consumidor.

Importancia de los proveedores WMI

Desde el lanzamiento de la primera implementación de WMI durante la era de Windows NT 4.0 SP4 (como una descarga fuera de banda), Microsoft ha agregado constantemente proveedores de WMI a Windows:

Muchos clientes han interpretado el crecimiento del número de proveedores como una señal de que WMI se ha convertido en Microsoft en la capa de gestión "ubicua" de Windows, aunque Microsoft nunca ha hecho explícito este compromiso.

Debido a la exposición cada vez mayor de datos de gestión a través de WMI en Windows, las personas en el campo de la gestión de sistemas de TI comenzaron a desarrollar scripts y procedimientos de automatización basados ​​en WMI. [ cita requerida ] Más allá de las necesidades de scripting, la mayoría de los paquetes de software de gestión líderes, como MOM , SCCM , ADS, HP OpenView para Windows (HPOV), BMC Software y CA, Inc. están habilitados para WMI y son capaces de consumir y proporcionar información de WMI a través de varias interfaces de usuario . Esto permite que los administradores y operadores que no pueden crear scripts o programar sobre WMI disfruten de los beneficios de WMI sin siquiera aprender sobre él. Sin embargo, si lo desean, debido a que WMI es programable, les da la oportunidad de consumir información de WMI desde scripts o desde cualquier software de gestión empresarial compatible con WMI .

Características

Para aquellos que deseen desarrollar uno o varios proveedores WMI, WMI ofrece muchas funciones listas para usar. Estas son las ventajas más importantes:

  1. Interfaces de automatización:
    debido a que WMI incluye un conjunto de interfaces de automatización listas para usar, todas las funciones de administración admitidas por un proveedor de WMI y su conjunto de clases obtienen soporte de scripts de manera gratuita y lista para usar. Más allá del diseño de clases de WMI y el desarrollo del proveedor, los equipos de desarrollo y pruebas de Microsoft no necesitan crear, validar o probar un modelo de scripts, ya que este ya está disponible en WMI.
  2. Interfaces de administración de .NET
    : Debido a que elSystem.Managementespacio de nombres [7] se basa en la infraestructura COM / DCOM existente , el proveedor WMI creado y su conjunto de clases WMI se vuelven automáticamente disponibles para todas las aplicaciones .NET independientemente del lenguaje utilizado (por ejemplo, C# , VB.NET ). Más allá del diseño de la clase WMI y el desarrollo del proveedor, como en el caso de los scripts, los equipos de desarrollo y pruebas de Microsoft no necesitan crear, validar y probar nuevos ensambles para admitir un nuevo espacio de nombres en .NET Framework, ya que este soporte ya está disponible en forma gratuita desde WMI.
  3. Interfaces de programación COM/DCOM de C/C++:
    como la mayoría de los componentes de Windows, los programadores COM / DCOM pueden aprovechar las características del proveedor que desarrollan en el nivel de interfaces COM/DCOM. Al igual que en entornos anteriores (scripting y .NET Framework ), un consumidor COM/DCOM solo necesita interactuar con el conjunto estándar de interfaces COM de WMI para aprovechar las capacidades del proveedor WMI y su conjunto de clases WMI compatibles. Para que toda la información de administración esté disponible desde las API nativas, el desarrollador del proveedor WMI solo necesita interactuar con un conjunto de interfaces COM de WMI predefinidas. Esto hará que la información de administración esté disponible en el nivel COM de WMI automáticamente. Además, el modelo de objetos de la interfaz COM de scripting es muy similar al modelo de objetos de la interfaz COM/DCOM, lo que facilita que los desarrolladores se familiaricen con la experiencia de scripting.
  4. Capacidades de comunicación remota a través de DCOM y SOAP :
    más que simplemente ofrecer capacidades COM locales, ya que la administración se basa en la comunicación remota , WMI ofrece el transporte DCOM. Además, el transporte SOAP estará disponible en Windows Server 2003 R2 a través de la iniciativa WS-Management liderada por Microsoft , Intel , Sun Microsystems y Dell . Esta iniciativa permite ejecutar cualquier script de forma remota o consumir datos WMI a través de un conjunto específico de interfaces que manejan solicitudes/respuestas SOAP. La ventaja para el desarrollador del proveedor WMI es que cuando expone todas sus características a través de WMI, Windows Remote Management /WS-Management puede a su vez consumir esa información también (los objetos integrados en instancias WMI no son compatibles con Windows Server 2003 R2. Sin embargo, es un objetivo para Vista). Todas las capas de WS-Management y la asignación del modelo de datos CIM a SOAP se obtienen de forma gratuita a través de la solución WMI/WS-Management. En caso de que sea necesario utilizar DCOM, su implementación requiere la presencia de una DLL proxy implementada en cada máquina cliente. Como WMI está disponible en el sistema operativo Windows desde Windows 2000, estos problemas se eliminan.
  5. Compatibilidad con consultas:
    WMI ofrece compatibilidad con consultas WQL [8] de manera predeterminada. Esto significa que si un proveedor no está diseñado para admitir consultas, WMI lo admite mediante una técnica de enumeración fuera del proveedor.
  6. Capacidades de generación de eventos:
    WMI ofrece la capacidad de notificar a un suscriptor sobre cualquier evento que le interese. WMI utiliza el lenguaje de consulta WMI (WQL) para enviar consultas de eventos WQL y define el tipo de eventos que se devolverán. El mecanismo de generación de eventos, con todas las devoluciones de llamadas relacionadas , es parte de las interfaces de automatización y COM/DCOM de WMI. Cualquiera que escriba un proveedor WMI puede beneficiarse de esta funcionalidad sin costo para sus clientes. Dependerá del consumidor decidir cómo desea consumir la información de administración expuesta por el proveedor WMI y su conjunto relacionado de clases WMI.
  7. Generador de plantillas de código:
    Para acelerar el proceso de escritura de un proveedor WMI que incluya todas las interfaces COM/DCOM y las definiciones relacionadas, el equipo de WMI desarrolló el Asistente WMI ATL para generar la plantilla de código que implementa un proveedor. El código generado se basa en el modelo de clases WMI diseñado inicialmente por el desarrollador. El desarrollador del proveedor WMI podrá interconectar las interfaces COM/DCOM predefinidas para el proveedor WMI con su conjunto de API nativas que recuperan la información de gestión para exponerla. El ejercicio consiste en llenar los "vacíos" en el código del proveedor para crear la lógica de interconexión deseada.
  8. Predictibilidad:
    La predictibilidad es una preocupación importante para los profesionales de TI porque define la capacidad de alguien que tiene experiencia con un conjunto de interfaces que administran un componente de Windows para aplicar este conocimiento de inmediato, de manera intuitiva, a cualquier otro componente de Windows administrable sin tener que volver a aprender todo desde cero. La predictibilidad para un cliente es una ganancia real, ya que aumenta el retorno de la inversión ( ROI ). Una persona que se enfrenta a una situación así simplemente espera que las cosas funcionen de la misma manera en función de su experiencia previa. El aumento constante de las interfaces de programación COM/scriptables tiene un gran impacto en la predictibilidad, ya que esto dificulta que los clientes automaticen, administren Windows y aprovechen su conocimiento existente. WMI con CIM aborda este problema al exponer siempre el mismo modelo de objeto de programación (COM/DCOM, Automation, .NET) sea cual sea la entidad administrable.
  9. Proteger las inversiones de los clientes existentes:
    Proteger la inversión de los clientes y socios motiva a los clientes a invertir en tecnologías. Así como Microsoft invirtió mucho estos últimos años en desarrollar proveedores de WMI, los clientes y socios invirtieron en herramientas que aprovechan las capacidades de WMI de Windows. Por lo tanto, naturalmente continúan explotando estas capacidades en lugar de tener que usar un nuevo conjunto de interfaces específicas para cada componente administrable de Windows. Un conjunto específico de interfaces significa tener un conjunto específico de agentes o software desarrollado internamente basado en un nuevo modelo o conjunto de interfaces especialmente dedicado a un componente o tecnología. Al aprovechar las capacidades de WMI hoy, los clientes y socios pueden aprovechar la inversión de trabajo realizada en el pasado y, al mismo tiempo, minimizar sus costos en desarrollos, curvas de aprendizaje y nuevos descubrimientos. Esto también tendrá un gran impacto en la estabilidad y confiabilidad de su infraestructura a medida que continúan aprovechando una implementación existente con una tecnología mejorada.
  10. Proporcionar un modelo de administración lógico y unificado:
    como se describió brevemente en la introducción, este modelo se basa en un estándar de la industria llamado CIM definido por el DMTF (https://www.dmtf.org/). El esquema basado en clases de CIM está definido por un consorcio de constructores y desarrolladores de software que cumple con los requisitos de la industria. Esto implica que no solo Microsoft aprovecha las capacidades de WMI, sino que también cualquier otro constructor o desarrollador de terceros escribe su propio código para adaptarse al modelo. Por ejemplo, Intel está haciendo esto para algunos de sus adaptadores y software de controladores de red. HP está aprovechando los proveedores de WMI existentes e implementando sus propios proveedores de WMI en su software HP Open View Enterprise Management . IBM consume WMI de la suite de gestión Tivoli , MOM y SMS también consumen y proporcionan información de WMI. Por último, Windows XP SP2 aprovecha WMI para obtener información sobre el estado del software antivirus y los firewalls.

Herramientas WMI

Algunas herramientas WMI también pueden resultar útiles durante las fases de diseño y desarrollo. Estas herramientas son:

Ejemplo de red inalámbrica

En .NET Framework , la clase ManagementClass representa una clase de administración del Modelo de información común (CIM). Una clase WMI puede ser una Win32_LogicalDisken el caso de una unidad de disco o una Win32_Process, como un programa en ejecución como Notepad.exe.

Este ejemplo muestra cómo MSNdis_80211_ServiceSetIdentifierse utiliza la clase WMI para encontrar el SSID de la red Wi-Fi a la que está conectado actualmente el sistema en el lenguaje C#:

ManagementClass mc = new ManagementClass ( "root\\WMI" , "MSNdis_80211_ServiceSetIdentifier" , null ); Colección de objetos de gestión moc = mc . GetInstances ();         foreach ( ManagementObject mo en moc ) { cadena wlanCard = ( cadena ) mo [ "InstanceName" ]; bool activo ; si ( ! bool . TryParse (( cadena ) mo [ "Activo" ], fuera activo )) { activo = falso ; } byte [] ssid = ( byte []) mo [ "Ndis80211SsId" ]; }                       

La MSNdis_80211_ServiceSetIdentifierclase WMI sólo es compatible con Windows XP y Windows Server 2003.

Extensiones del controlador WMI

Las extensiones WMI de WDM proporcionan instrumentación a nivel de núcleo , como la publicación de información, la configuración de los ajustes de los dispositivos, el suministro de notificaciones de eventos de los controladores de dispositivos y la posibilidad de que los administradores establezcan la seguridad de los datos a través de un proveedor WMI conocido como proveedor WDM . Las extensiones forman parte de la arquitectura WDM; sin embargo, tienen una amplia utilidad y también se pueden utilizar con otros tipos de controladores (como SCSI y NDIS ).

El servicio WMI Driver Extensions supervisa todos los controladores y proveedores de seguimiento de eventos que están configurados para publicar información de seguimiento de eventos o WMI. Los datos de hardware instrumentados se proporcionan mediante controladores instrumentados para extensiones WMI para WDM. Las extensiones WMI para WDM ofrecen un conjunto de interfaces de controladores de dispositivos de Windows para instrumentar datos dentro de los modelos de controladores nativos de Windows, de modo que los OEM y los IHV pueden ampliar fácilmente el conjunto de datos instrumentados y agregar valor a una solución de hardware/software. Sin embargo, las extensiones de controladores WMI no son compatibles con Windows Vista y sistemas operativos posteriores. [11]

Véase también

Referencias

  1. ^ "WMI Redistributable for Windows NT". microsoft.com . Archivado desde el original el 24 de febrero de 2010. Consultado el 4 de mayo de 2018 .
  2. ^ "WMI Redistributable para Windows 95 y Windows 98". microsoft.com . Archivado desde el original el 23 de abril de 2007. Consultado el 4 de mayo de 2018 .
  3. ^ "Descripción de la utilidad de línea de comandos de Instrumental de administración de Windows (WMI) (Wmic.exe)". Archivado desde el original el 2 de mayo de 2007.
  4. ^ "WMIC: utilidad de línea de comandos de WMI". Microsoft. 8 de marzo de 2023. Archivado desde el original el 14 de octubre de 2023.
  5. ^ "Manejabilidad del cliente de Windows Vista". microsoft.com . Archivado desde el original el 3 de marzo de 2016. Consultado el 4 de mayo de 2018 .
  6. ^ "Proveedores WMI compatibles con Windows 10". Microsoft . 25 de junio de 2017. Archivado desde el original el 30 de septiembre de 2018 . Consultado el 30 de septiembre de 2018 .
  7. ^ "Espacio de nombres System.Management". msdn2.microsoft.com . Archivado desde el original el 16 de abril de 2008. Consultado el 4 de mayo de 2018 .
  8. ^ "Lenguaje de consulta WMI (WQL) a través de PowerShell". ravichaganti.com . 1 de mayo de 2011. Archivado desde el original el 12 de octubre de 2017 . Consultado el 4 de mayo de 2018 .
  9. ^ "Tareas de WMI: software informático (Windows)". msdn2.microsoft.com . Archivado desde el original el 6 de abril de 2008. Consultado el 4 de mayo de 2018 .
  10. ^ D'Vine, Rhonda. «Ubuntu – Error». packages.ubuntu.com . Archivado desde el original el 2 de mayo de 2017. Consultado el 4 de mayo de 2018 .
  11. ^ "La historia de los desarrolladores de Windows Vista y Windows "Longhorn" Server: libro de recetas de compatibilidad de aplicaciones". msdn2.microsoft.com . Archivado desde el original el 21 de abril de 2008 . Consultado el 4 de mayo de 2018 .

Enlaces externos