En esta oportunidad tuve la necesidad de monitorear un viejo servidor de dominio Windows utilizando Grafana. Al igual que la anterior oportunidad en que tuve que monitorear un vetusto Informix, por cuestiones de compatibilidad, lo mejor fue recolectar estadísticas utilizando directamente un script PowerShell y enviarlas a InfluxDB con curl. Sin recurrir a herrramientas como collectd o Telegraf (no disponibles para sistemas Windows de 32 bits).

Desarrollando un script con Windows PowerShell ISE, me topé con este error al momento de intentar ejecutarlo:

PS C:\scripts> .\windows-metrics-influxdb.ps1
File C:\scripts\windows-metrics-influxdb.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details.
At line:1 char:31
+ .\windows-metrics-influxdb.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

Este artículo explica cómo resolver este problema rápidamente y de forma sencilla ejecutando un simple comando.

¿Instalar un gestor de paquetes en Windows? Así es, aunque parezca una broma del día de los inocentes. Chocolatey es un gestor de paquetes para Windows similar a APT para Debian o yum en CentOS. Este sistema de gestión de software y automatización está basado en PowerShell y es capaz de trabajar con diferentes instaladores de software para sistemas Windows como MSI, NSIS, InnoSetup, binarios de instalación y archivos comprimidos (ZIP). Como cualquier gestor de paquetes permite manejar de forma simple todos los aspectos de la administración de software como instalación, configuración, actualización y desinstalación.

¿Alguna vez imaginaron instalar software en Windows al igual que en GNU/Linux ejecutando algo como apt install gimp de manera rápida y desatendida? Gracias a Chocolatey es posible y tan simple como ejecutar:

choco install gimp

Nunca más siguiente, siguiente, siguiente...

Hoy tuve que reiniciar de emergencia un servidor Windows corriendo servicios de Terminal Services. Pero antes quise ver si existían usuarios con sesiones abiertas (logueados) en el servidor, para asegurarme de no interuumpir una sesión en el proceso.

En este artículo voy a demostrar cómo saber qué versión de PowerShell se encuentra instalada en un sistema Microsoft Windows.