Reporte de Snapshots de VMs en VMware
En oportunidades anteriores se ha hablado sobre la proyección de PowerShell fuera del mundo Microsoft, en donde empresas externas han desarrollado extensiones para utilizarse desde PowerShell. Una de ellas es VMware, en donde ha crecido de manera exponencial el uso de PowerShell para realizar la administración de la plataforma. Es en este post que se pretende mostrar como podemos resolver una situación en la que necesitamos un reporte de snapshots de VMs en VMware con PowerShell.
La consola de PowerShell para VMware
Dentro del mundo VMware se conoce popularmente la consola de administración por scripting como PowerCLI. Desde nuestra querida consola de PowerShell es posible trabajar con la plataforma de VMware realizando una simple acción: cargando el pssnappin que VMware nos deja a disposición.
Hay que aclarar que para contar con este pssnappin, es necesario descargar el PowerCLI desde la página de VMware y realizar la instalación correspondiente, utilizando éste enlace.
Ya con la instalación realizada basta con ejecutar en la consola de PowerShell:
Podemos escribir un poco más de código y comprobar si se encuentra cargado desde el inicio y, a su vez, comprobar que se encuentre instalado:
Ahora que sabemos si cumplimos el requisito para utilizar los comandos que dispone VMware, debemos definir el servidor al que pretendemos conectarnos y con qué credenciales vamos a realizar la conexión, utilizando el siguiente comando:
A continuación, vamos a utilizar el siguiente fragmento de código. En el mismo, lo primero que accionamos es la obtención de las máquinas virtuales del servidor y de cada una de ellas si tiene spanshot o no. De lo anterior filtramos seleccionando los datos que realmente nos interesan para el reporte (también se manipula el tamaño, para que sea representado con un formato amigable). Luego vamos a exportarlo como .html:
Logrando un resultado como el siguiente:
Ahora que tenemos el archivo .html, resta agregar la función Send-MailMessage. Con ella se enviará el reporte de snapshots de VMs en VMware a las personas interesadas. Un ejemplo de uso de la función sería:
Y de esta manera, tenemos al final un reporte funcional con la información requerida de los Snapshots de nuestra plataforma de VMware utilizando la consola de PowerShell de forma simple.
Happy scripting!
Comments