El método fallaba, no la herramienta
El problema
El área técnica registraba los equipos en una DokuWiki — el wiki de documentación del área — usando su formato de tabla. Cada vez que un equipo cambiaba, alguien tenía que entrar y actualizar la fila a mano.
El método fallaba por error humano. No porque la wiki estuviera mal hecha: porque dependía de que una persona se acordara, cada vez, para siempre. Eso no se sostiene, y un inventario en el que no confiás no sirve para decidir nada.
Por qué se reemplazó
Antes — tabla en DokuWiki
Actualización manual
- Alguien edita la fila cada vez que un equipo cambia.
- El dato envejece en silencio: nada avisa que quedó viejo.
- Falla por error humano, no por falla técnica.
Después — recolección automática
El sistema se puebla solo
- Un script recorre los equipos y reporta a la API.
- Cada cambio queda registrado con fecha.
- Lo que carga una persona nunca se confunde con lo que reportó la máquina.
Qué construí
Un sistema de inventario de hardware poblado por scripts automáticos y por carga manual, con backend en ASP.NET Core y frontend React.
- Recolección automática: un script de PowerShell junta los datos de cada equipo y los postea a la API.
- Historial de cambios: registro cronológico de qué campo cambió, de qué valor a cuál y cuándo.
- Wake on LAN: enviar un magic packet a través de un servidor SSH para encender un equipo de forma remota.
- Estado en vivo: indicador de en línea o sin conexión mediante ping.
- Búsqueda y filtrado por sector, sobre una tabla paginada.
- Dashboard con la distribución del parque.
Vista ilustrativa · datos de ejemplo
Procesador
Sistema
Memoria
Sector
| Nombre | IP | CPU | RAM | Sistema | Sector | Origen |
|---|---|---|---|---|---|---|
| taller-04 | 10.20.4.31 | Core i5-8500 | 16 GB | Windows 11 | Taller | auto |
| redac-02 | 10.20.1.12 | Core i7-9700 | 32 GB | Debian 12 | Redacción | auto |
| admin-11 | 10.20.2.44 | Core i5-7400 | 8 GB | Windows 10 | Administración | auto |
| kiosco-taller | — | Celeron J4005 | 4 GB | Windows 10 | Taller | manual |
taller-04 · memorias
- A18 GB · 2666 · Kingstonauto
- A28 GB · 2666 · Kingstonauto
- B1Vacíoauto
taller-04 · historial
- Sistema · Windows 10 → Windows 1114/03
- RAM · 8 GB → 16 GB02/02
- Sector · Depósito → Taller19/11
Las decisiones que costaron
Lo automático es de sólo lectura. Marcar la procedencia de cada dato no alcanzaba. Las entradas que reporta un script están protegidas contra edición y borrado desde la interfaz: nadie puede “corregir” a mano lo que vino del campo. Si el dato reportado está mal, lo que hay que arreglar es el equipo o el script, no la fila.
La automatización tiene un borde, y hay que declararlo. La recolección sólo alcanza a los equipos del dominio. Los que quedan afuera se cargan a mano, y esos sí se pueden editar. Por eso cada dato guarda si lo puso una máquina o una persona: el sistema no finge que todo es automático, dice hasta dónde llega.
Automatizar ensucia los datos maestros. Es la consecuencia que no se ve venir: la
misma máquina reporta Microsoft Windows 10 Pro, Windows 10 y w10 según de dónde
salga el dato, y el inventario deja de servir para filtrar. Hubo que construir una
herramienta aparte para ver todos los valores distintos de un componente, cuántos
equipos usa cada uno, y unificarlos en toda la base de una vez.
Resultado
El inventario se mantiene solo y es consultable por API. La solución se rediseñó una vez desde su versión inicial.