stringtranslate.com

Instrumentación de Administración Windows

El Instrumental de administración de Windows ( WMI ) consta de un conjunto de extensiones del modelo de controlador de Windows que proporciona una interfaz del sistema operativo a través de la cual los componentes instrumentados brindan 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 secuencias de comandos (como VBScript o PowerShell de Windows ) administren computadoras personales y servidores de Microsoft Windows , tanto de forma local como remota. WMI viene preinstalado en Windows 2000 hasta los sistemas operativos 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 Línea de comandos del Instrumental de administración de Windows ( WMIC ). [3] Sin embargo, WMIC está en desuso a partir de Windows 10, versión 21H1 , Windows 11 y Windows Server 2022 . [4]

Propósito de WMI

El propósito de WMI es definir un conjunto propietario de especificaciones independientes del entorno que permitan compartir información de administración entre aplicaciones de administración. WMI prescribe estándares de administración empresarial y tecnologías relacionadas para Windows que funcionan con estándares de administració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 de forma común a los datos de gestión de cualquier fuente.

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 principales pasos 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. Registre el proveedor con WMI y el sistema.
  3. Probar el proveedor
  4. Cree un código de muestra para el consumidor.

Importancia de los proveedores de 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 [ ¿cuáles? ] 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 una exposición cada vez mayor de los 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 necesaria ] Más allá de las necesidades de secuencias de comandos, la mayoría de los paquetes de software de administració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 WMI a través de varias interfaces de usuario . Esto permite a los administradores y operadores que no son capaces de crear secuencias de comandos o programar sobre WMI disfrutar de los beneficios de WMI sin siquiera conocerlo. Sin embargo, si lo desean, dado que WMI admite secuencias de comandos, les brinda la oportunidad de consumir información WMI desde secuencias de comandos o desde cualquier software de administración empresarial compatible con WMI.

Características

Para alguien que esté dispuesto a desarrollar uno o varios proveedores de WMI, WMI ofrece muchas funciones listas para usar. Estas son las ventajas más importantes:

  1. Interfaces de automatización:
    debido a que WMI viene con 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 secuencias de comandos de forma gratuita y lista para usar. Más allá del diseño de la clase WMI y el desarrollo del proveedor, los equipos de desarrollo y prueba de Microsoft no están obligados a crear, validar o probar un modelo de secuencias de comandos, ya que ya está disponible en WMI.
  2. Interfaces de administración de .NET
    : debido a que elSystem.Managementespacio de nombres [7] se basa en la conexión COM / DCOM existente, el proveedor WMI creado y su conjunto de clases WMI pasan a estar disponibles automáticamente para todas las aplicaciones .NET independientemente del lenguaje utilizado (por ejemplo, C# , VB.NET). ). Más allá del diseño de clases WMI y el desarrollo del proveedor, como para las secuencias de comandos, los equipos de desarrollo y prueba de Microsoft no están obligados a crear, validar y probar nuevos ensamblados para admitir un nuevo espacio de nombres en .NET Framework, ya que este soporte ya está disponible en WMI para gratis.
  3. Interfaces de programación C/C++ COM/DCOM:
    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 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 WMI predefinidas. Esto hará que la información de administración esté disponible en el nivel WMI COM automáticamente. Además, el modelo de objetos de la interfaz COM de secuencias de comandos es muy similar al modelo de objetos de la interfaz COM/DCOM, lo que facilita que los desarrolladores se familiaricen con la experiencia de las secuencias de comandos.
  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 tiene que ver con la comunicación remota , WMI ofrece 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, la administración remota de Windows /WS-Management puede a su vez consumir esa información también (los objetos incrustados en instancias WMI no son compatibles con Windows Server 2003 R2). sin embargo, un objetivo para Vista). Todas las capas para WS-Management y el mapeo del modelo de datos CIM a SOAP se obtienen de forma gratuita desde la solución WMI/WS-Management. En caso de que se deba utilizar DCOM, la implementación de DCOM 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. Soporte para consultas:
    WMI ofrece soporte para consultas WQL [8] listas para usar. 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 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 eventos, con todas las devoluciones de llamadas relacionadas , es parte de WMI COM/DCOM y las interfaces de automatización. Cualquiera que escriba un proveedor WMI puede beneficiarse de esta funcionalidad sin costo alguno para sus clientes. Dependerá del consumidor decidir cómo quiere 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, incluidas todas las interfaces COM/DCOM y 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 clase 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 recuperando la información de administración para exponer. El ejercicio consiste en llenar los “vacíos” en el código del proveedor para crear la lógica de interfaz deseada.
  8. Previsibilidad:
    la previsibilidad es una preocupación importante para los profesionales de TI porque define la capacidad de alguien que tiene experiencia con un conjunto de interfaces administrando 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. arriba. La previsibilidad 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 basándose en su experiencia previa. El aumento constante de interfaces de programación/scriptables COM tiene un gran impacto en la previsibilidad, ya que esto dificulta que los clientes automaticen, administren Windows y aprovechen sus conocimientos existentes. WMI con CIM aborda este problema exponiendo siempre el mismo modelo de objetos de programación (COM/DCOM, Automatización, .NET) cualquiera que sea la entidad manejable.
  9. Proteger las inversiones de los clientes existentes:
    proteger las inversiones de los clientes y socios motiva a los clientes a invertir en tecnologías. Como Microsoft invirtió mucho en los últimos años en escribir proveedores de WMI, los clientes y socios invirtieron en herramientas que aprovechan las capacidades WMI de Windows. Por lo tanto, naturalmente continúan explotando estas capacidades en lugar de tener que utilizar un nuevo conjunto de interfaces específicas para cada componente manejable 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 en 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úen 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 anteriormente en la introducción, este modelo se basa en un estándar de la industria llamado CIM definido por DMTF (https://www.dmtf.org/). El esquema basado en clases CIM está definido por un consorcio de constructores y desarrolladores de software que cumple con los requisitos de la industria. Esto implica que no sólo Microsoft aprovecha las capacidades de WMI, sino que también otros constructores o desarrolladores externos escriben su propio código para encajar en el modelo. Por ejemplo, Intel está haciendo esto para algunos de sus software y adaptadores de controladores de red. HP está aprovechando los proveedores WMI existentes e implementando sus propios proveedores 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 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 usa la clase WMI para encontrar el SSID de la red Wi-Fi a la que el sistema está conectado actualmente en el lenguaje C#:

ManagementClass mc = nueva ManagementClass ( "raíz\\WMI" , "MSNdis_80211_ServiceSetIdentifier" , nulo ); ManagementObjectCollection moc = mc . ObtenerInstancias ();         foreach ( ManagementObject mo en moc ) { cadena wlanCard = ( cadena ) mo [ "NombreDeInstancia" ]; booleano activo ; if ( ! bool . TryParse (( cadena ) mo [ "Activo" ], fuera activo )) { activo = falso ; } byte [] ssid = ( byte []) mo [ "Ndis80211SsId" ]; }                       

La MSNdis_80211_ServiceSetIdentifierclase WMI sólo se admite en Windows XP y Windows Server 2003.

Extensiones del controlador WMI

Las extensiones WMI para WDM proporcionan instrumentación a nivel de kernel, como publicar información, configurar ajustes del dispositivo, proporcionar notificaciones de eventos desde controladores de dispositivos y permitir a los administradores configurar la seguridad de los datos a través de un proveedor WMI conocido como proveedor WDM . Las extensiones son 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 monitorea todos los controladores y proveedores de seguimiento de eventos que están configurados para publicar WMI o información de seguimiento de eventos. Los datos de hardware instrumentados se proporcionan mediante controladores instrumentados para extensiones WMI para WDM. Las extensiones WMI para WDM proporcionan 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 puedan ampliar fácilmente el conjunto de datos instrumentados y agregar valor a una solución de hardware/software. Sin embargo, las extensiones del controlador WMI no son compatibles con Windows Vista y sistemas operativos posteriores. [11]

Ver también

Referencias

  1. ^ "WMI redistribuible para Windows NT". microsoft.com . Archivado desde el original el 24 de febrero de 2010 . Consultado el 4 de mayo de 2018 .
  2. ^ "WMI redistribuible 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. ^ "Una descripción de la utilidad de línea de comandos del 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 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 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". paquetes.ubuntu.com . Archivado desde el original el 2 de mayo de 2017 . Consultado el 4 de mayo de 2018 .
  11. ^ "La historia del desarrollador del servidor Windows Vista y Windows" Longhorn ": 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