Como técnico de soporte, mi meta es resolver problemas rápido y dejar constancia de qué se hizo. Los scripts sueltos se me quedaron cortos: necesitaba un sistema que funcionara como un todo. Así construí IT-Support-Scripts desde cero.
Dos decisiones de partida
Desde el inicio fijé dos reglas para la arquitectura del proyecto:
-
Cada script es una herramienta independiente y especializada. Un
diagnostico_red.ps1para la red, uninventario_hw_sw.ps1para el hardware. Así se ejecuta solo lo necesario, y mantener o ampliar el código es sencillo. -
El reporte es el producto final. La salida en consola es para mí; el reporte HTML es para el cliente (o para mi yo del futuro). Por eso
HTMLTemplate.ps1es el componente central: separa la lógica de diagnóstico de la presentación y garantiza que todos los scripts generen una salida estandarizada y fácil de leer.
Cómo está armado
El orquestador: master_script.ps1
No quería una simple colección de archivos, sino un sistema integrado. master_script.ps1 es el punto de entrada:
- Ofrece un menú interactivo que funciona como una “API humana” para todo el toolkit: nadie tiene que memorizar nombres de archivos ni parámetros.
- Se encarga de la configuración crítica, como ajustar la política de ejecución de PowerShell (
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass), un obstáculo común en equipos de clientes. - Antes de mostrar el menú, valida que todos los scripts necesarios existan, para evitar fallos a media ejecución.
Manejo de errores: ErrorHandler.ps1
Un script que falla en silencio no sirve. Centralicé el manejo de errores en ErrorHandler.ps1:
Invoke-SafeExecutiones el núcleo: una función que envuelve bloques de código en untry/catch. Si una operación falla (por ejemplo, una consulta WMI), el error se captura, se registra en un log global y el script principal sigue corriendo en lugar de detenerse.- Los errores se clasifican como
Info,Warning,ErroroCritical. Eso permite priorizar en el reporte final, para que el técnico vea primero lo importante.
Los reportes HTML
La idea es simple: el técnico ejecuta un script y obtiene un diagnostico_completo_2025-08-17_21-35-30.html listo para analizar o enviar.
- Todo el estilo vive en la plantilla: cambiar el diseño de todos los reportes es editar un solo archivo.
- La parte superior muestra contadores de problemas (
goodCount,warningCount,criticalCount), rellenados por un pequeño bloque de JavaScript que se inyecta al final del HTML. - Las clases CSS
.good,.warningy.criticalse aplican dinámicamente a filas y secciones, para que el estado del equipo se entienda de un vistazo.
Lo que sigue
PowerShell en Windows fue el punto de partida, pero el ROADMAP apunta más lejos: una versión multiplataforma y portable. El plan es migrar la lógica a un core en Node.js y WebAssembly, empaquetado con Electron.js, para poder ejecutar el mismo toolkit desde una USB en Windows, macOS o Linux, sin dependencias ni instalación.