Diego Molinari

← Todos los casos

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.
El problema no era la herramienta: era que el método necesitaba disciplina humana sostenida en el tiempo.

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

inventario

Procesador

  • Core i541
  • Core i718
  • Ryzen 59

Sistema

  • Windows 1137
  • Windows 1024
  • Debian 127

Memoria

  • 16 GB33
  • 8 GB26
  • 32 GB9

Sector

  • Redacción29
  • Taller21
  • Depósito12
NombreIPCPURAMSistemaSectorOrigen
taller-0410.20.4.31Core i5-850016 GBWindows 11Tallerauto
redac-0210.20.1.12Core i7-970032 GBDebian 12Redacciónauto
admin-1110.20.2.44Core i5-74008 GBWindows 10Administraciónauto
kiosco-tallerCeleron J40054 GBWindows 10Tallermanual

taller-04 · memorias

  • A18 GB · 2666 · Kingstonauto
  • A28 GB · 2666 · Kingstonauto
  • B1Vacíoauto

taller-04 · historial

  • Sistema · Windows 10Windows 1114/03
  • RAM · 8 GB16 GB02/02
  • Sector · DepósitoTaller19/11
Reconstrucción ilustrativa, no una captura. Los datos son inventados. El sistema abre en la distribución del parque —procesador, sistema, memoria, sector— y de ahí a la tabla. La última fila es un equipo fuera del dominio: sin IP reportada y cargado a mano, declarado como tal. Abajo, el detalle de un equipo: cada módulo lleva su procedencia, y el historial guarda qué cambió y cuándo.

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.