Del curso: PowerShell 5 esencial

Gestión de WMI

Para poder gestionar WMI desde nuestro equipo –por ejemplo, hacer llamadas a una clase de WMI–, la forma clásica era utilizando código o, desde la línea de comandos, iniciar la consola de WMI ejecutando 'wmic' y, desde ahí, haciendo llamadas, por ejemplo, a la clase 'bios', que nos devolvía las distintas características, la versión, impresión, idioma, descripción, etc., etc. de la BIOS de nuestro equipo, y así numerosas otras llamadas que podíamos hacer. PowerShell tiene la posibilidad de realizar llamadas WMI utilizando el cmdlet 'Get-Wmi Object'. Con el cmdlet 'Get-WmiObject' podemos hacer llamadas a las distintas clases de WMI y obtener información de ellas. Por ejemplo, vamos a hacer una llamada a la clase 'win32_Bios'. Vemos que recibimos cierta información que es exactamente la misma que teníamos en la consola de WMI dentro de la línea de comandos, pero si utilizo 'Select-Object', asterisco para obtener el listado de todas las propiedades, podemos observar que recibimos toda esa información e incluso más de una forma muy ordenada. ¿A qué elementos puedo hacer referencia utilizando WMI? Lo mejor es utilizar el listado de clases del proveedor Win32 para WMI. Aquí podemos observar que están divididas en cuatro partes: las clases de hardware del sistema, clases para el sistema operativo, clases de contador de rendimiento y clases de gestión del servicio de WMI. Las más clásicas que vamos a utilizar van a ser las de hardware y las del sistema operativo. Si me voy a las clases de hardware, podemos ver que están divididas a su vez en dispositivos de enfriamiento, de entrada, almacenamiento, etc., etc. Si por ejemplo me voy a las clases de placa madre, controladora y puertos, puedo ver que existe la de BIOS, que hice la llamada antes, pero existen muchas otras. Por ejemplo la controladora IDE, el "array" de memoria, etc. El dispositivo de sonido, la controladora USB... Si quisiera obtener información del almacenamiento, puedo hacer una llamada a 'Win32_DiskDrive'. Desde aquí, 'Get-Wmi Object', clase 'win32_ disk drive', y podemos ver que disponemos de un dispositivo físico que tiene dos particiones con tamaño 64 GB. Por supuesto, podemos hacer muchísimas otras llamadas, como hemos visto, a clases también del sistema operativo, donde podemos obtener información por ejemplo de los "drivers", el registro, usuarios, etc. En este vídeo hemos visto cómo gestionar WMI utilizando PowerShell.

Contenido