Si frecuentemente administras algún tipo de infraestructura vSphere lo más probable es que hayas tenido que tirar en más de una ocasión de esxcli para realizar configuraciones avanzadas, automatizaciones o troubleshooting de algún tipo. En la entrada de hoy veremos cómo utilizar esxcli desde PowerCLI y así integrarlo en nuestros scripts o en nuestras sesiones con la terminal.
Invocando esxcli desde PowerCLI Lo primero que deberemos hacer para empezar a utilizar la funcionalidad de esxcli desde PowerCLI es exponer su funcionalidad a nuestra sesión de terminal.
Si hay una prueba que siempre vale la pena hacer cuando estamos intentando resolver cualquier problema relacionado con la IT es comprobar que la resolución DNS funciona correctamente. No es casualidad que una de las frases míticas en las redes IT sea la de “it’s always DNS”. En la breve entrada de hoy veremos cómo gestionar la caché de DNS con PowerShell.
Listar entradas de la caché de DNS con PowerShell Un cmdlet que nos puede ser muy útil a la hora de hacer troubleshooting de DNS es Get-DnsClientCache.
Este post es el primero de la nueva serie “Descubriendo módulos” en la que instalaremos módulos de terceros publicados en los distintos canales online y juguetearemos con su funcionalidad. En esta primera entrega veremos el módulo ImportExcel, que nos permitirá, entre otras cosas,** exportar a Excel con PowerShell** con su función Export-Excel.
Descargando ImportExcel Tal como vimos en la introducción a los módulos de PowerShell existen distintos sitios en los que encontrar módulos de PowerShell, pero sin duda el mejor y el que más cómodo nos va a resultar es la PowerShell Gallery.
Cada vez que abrimos una consola de PowerShell ésta inicia con un perfil asociado a nuestro usuario. En la entrada de hoy veremos cómo modificar nuestro perfil de PowerShell y repasaremos algunas de las modificaciones que tenemos disponibles para hacer “un poco más nuestra” la terminal.
Cómo personalizar nuestro perfil de PowerShellCómo personalizar nuestro perfil de PowerShell
" Cómo personalizar nuestro perfil de PowerShell
Cómo personalizar el perfil de PowerShell PowerShell carga las personalizaciones de nuestro perfil a través de un archivo .
Si bien PowerShell empezó siendo un producto exclusivo para Windows, con el acercamiento de Microsoft al Sofware Libre de los últimos tiempos pasó a ser compatible en plataformas GNU/Linux y MacOS en su versión Core. En la entrada de hoy veremos cómo instalar PowerShell Core en Linux y le añadiremos el módulo de PowerCLI para administrar productos de VMware desde el sistema operativo del pingüino.
¿Qué es PowerShell Core? En este momento existen dos versiones de PowerShell disponibles.
Una de las formas más sencillas para generar herramientas de reporting con PowerShell es utilizando la funcionalidad integrada de enviar correo desde PowerShell junto con la ejecución programada de scripts de PowerShell. Lo único que necesitaremos para hacerlo será un servidor de correo desde el que realizar el envío (obvio) y un terminal de PowerShell.
Enviar correo desde PowerShellEnviar correo desde PowerShell
" Enviar correo desde PowerShell
Utilizando Send-MailMessage para enviar correo desde PowerShell Send-MailMessage va a ser el Cmdlet que utilizaremos para enviar correo desde nuestros scripts de PowerShell.
Algo frecuente cuando administramos una infraestructura VMware vSphere es encontrarnos con VMs con ISOs de nuestros datastores montadas que ya no son necesarias. Este problema se vuelve aún más habitual cuando muchas manos están tocando la misma infraestructura. Si bien podemos ir VM por VM comprobando si esto pasa, es más interesante valernos de PowerCLI para listar ISOs montadas (o directamente desmontarlas) periódicamente mendiante la ejecución programada de scripts de PowerShell.
Una de las tareas comunes de la mayoría de scripts de automatización es la de logearse a servicios que requieren de autenticación. Cuando ésto ocurre nos encontramos con que de algún modo tenemos que gestionar las credenciales de dicho servicio, y en este punto podemos caer en la tentación de crear una magnífica variable $usuario y otra $password donde, en texto planto, almacenar las credenciales de nuestro servicio.
1 2 3 $usuario = 'usu4rio' $password = '3st03s1np4swrd' Connect-VIServer -Server vcsa.
Está muy bien ahorrarnos trabajo automatizando procesos con PowerShell, pero si para que éstos se ejecuten tenemos que lanzar la tarea a mano en muchas ocasiones se pierde el sentido de la automatización. Por ello en el post de hoy veremos cómo ejecutar** un script de PowerShell como tarea programada** mediante el programador de tareas de Windows.
Ejecutar un script de PowerShell como tarea programadaEjecutar un script de PowerShell como tarea programada
Si por algún motivo os ha tocado recrear un servidor vCenter por corrupción del mismo, actualización fallida (pese al gran actualizador del que dispone) o algún tipo de migración, y por casualidad éste disponía de muchas carpetas de VM, sabréis que recrearlas puede ser un auténtico calvario. Por una experiencia de este estilo me he decidido a crear un módulo de PowerCLI con el que exportar carpetas de vCenter para posteriormente recrearlas con un solo comando.
En esta segunda parte de la serie veremos cómo instalar y configurar NSClient++ para ejecutar nuestro plugin de Nagios con PowerShell creado en la entrada anterior.
Parte 1: Creación del script. Parte 2: Instalación de NSClient++. Para esta entrada asumo que tenemos un servidor de Nagios (Core o XI) ya instalado y funcionando sobre el que crearemos el check.
Instalación y configuración de NSClient++ Para empezar con la instalación de NSClient++ nos dirigiremos al apartado de descargas de su página web y descargaremos la versión correspondiente a la arquitectura de nuestro SO.
Si bien Nagios dispone de un extenso catálogo público de plugins creados por la comunidad, es posible que tengamos necesidades específicas que no estén cubiertas en dicho catálogo. Es por eso que en esta mini serie de entradas vamos a ver cómo crear nuestro propio plugin de Nagios con Powershell y cómo configurarlo posteriormente en la máquina destino con la ayuda del cliente NSClient++.
Parte 1: Creación del script. Parte 2: Instalación de NSClient++.
Una vez iniciada la serie sobre one-liners de PowerCLI es turno de arrancar con los one-liners de PowerShell. En esta primera entrega veremos cómo obtener la IP pública de la máquina que ejecuta el one-liner con PowerShell.
Ya de entrada puedes preguntarte: ¿por qué querría hacerlo desde PowerShell si lo puedo consultar desde el navegador? Aquí van algunos ejemplos:
Para incorporarlo a un script que, por ejemplo, modifique el comportamiento según la línea WAN por la que esté saliendo.
Muchas veces la gente que programamos tenemos tendencia a reinventar la rueda y escribir código que ya ha sido escrito por otro y, en muchos casos, incluso acabamos reescribiendo código escrito por nosotros mismos. En esta entrada veremos el funcionamiento de los módulos de PowerShell, con los que obtendremos** piezas de código reutilizables y fácilmente distribuibles** con los que podremos evitar que esto ocurra. ¡Veamos como funcionan!
Introducción a los módulos de PowerShellIntroducción a los módulos de PowerShell
Si hay algo que caracteriza a PowerShell (y PowerCLI) es la capacidad de realizar acciones aparentemente complejas en otros lenguajes de programación/scripting utilizando muy pocos carácteres. Es por ello que iniciamos la sección “PowerCLI one-liners” en la que iremos viendo utilidades de todo tipo con algo en común: que se pueden ejecutar en una sola línea. En la primera entrega vamos a ver como a listar máquinas virtuales sin VMware Tools.
Todos los Sysadmin tenemos que lidiar en nuestro día a día con tareas apasionantes como las expiraciones de garantía, licencias y soporte de los productos que utilizamos en nuestras compañías. Para facilitar ésta tarea me decidí a crear el plugin “check_veeam_license_expiration” con el que monitorizar la licencia de Veeam Backup desde Nagios con PowerShell.
Si bien existen y se deben usar métodos de seguimiento calendarizados, es muy útil disponer de un check en nuestro sistema de monitorización que nos de el chivatazo si por algún motivo se nos ha olvidado tramitar las renovaciones correspondientes o éstas no se han realizado automáticamente.
Una tarea fundamental cuando administramos una máquina GNU/Linux, en especial servidores, es la monitorización de logs. Esta tarea puede resultar especialmente engorrosa cuando tenemos que administrar muchos servidores, o bien, cuando no tenemos tiempo para dedicarle porque, por ejemplo, esta no es nuestra actividad laboral, sino un hobby. Para hacer esta tarea un poco menos pesada podemos valernos de herramientas como logwatch, con la que obtendremos una visión global de lo que ha estado pasando en nuestro sistema durante un periodo de tiempo determinado.
Un buen uso para el envío de correos desde la línea de comandos que vimos en la anterior entrada es usarlo junto a herramientas de monitorización del sistema. Juntar la utilización de una de estas herramientas con el envío de correo va a permitirnos estar todo lo informados que deseemos (y seamos capaces de estar) acerca del estado de nuestros sistemas.
Script para la supervisión del espacio en disco de los sistemas de ficheros locales La naturaleza abierta de GNU/Linux hace que existan cientos de aplicaciones, todas ellas muy válidas, encargadas de tareas relacionadas con la supervisión del sistema.
Enviar correos directamente desde la línea de comandos, a simple vista, puede no parecernos muy útil, puesto que si queremos enviar un correo, lo normal será que usemos una interfaz gráfica que nos permita poner emoticonos bonitos y letras con colores chillones. No obstante, enviar correos desde la línea de comandos puede permitir que nuestros scripts se comuniquen directamente con nosotros allá donde estemos. Si unimos esta capacidad para nuestros scripts junto con la programación de tareas con cron, podremos hacer que nuestro sistema haga absolutamente cualquier cosa que imaginemos con el añadido de que nosotros estaremos siempre informados de ello.
Después de la anterior entrega del tutorial ya tendremos nuestra Wiki instalada y, si quisiéramos, lista para ponernos manos a la obra con la introducción de contenido. Si bien la configuración por defecto de DokuWiki nos ofrecerá una Wiki totalmente funcional, siempre es interesante sumergirnos en la configuración del software para intentar sacarle el máximo partido y conseguir adaptarla a nuestras necesidades.
Postinstalación de DokuWikiPostinstalación de DokuWiki
" Postinstalación de DokuWiki