Volver al inicio

PowerShell GUI para soporte técnico de AD

El artículo describe el desarrollo de PowerShell GUI para automatizar tareas de soporte técnico en dominio AD. La herramienta extrae hostname, diagnostica PCs y realiza operaciones remotas. Fue utilizada durante 3 años por un equipo de 15 especialistas.

PowerShell GUI: automatización de soporte técnico en AD
Advertisement 728x90

# # Automatización del soporte TI con GUI de PowerShell: Experiencia de desarrollo interno

En un dominio de Active Directory que gestiona entre 4.000 y 5.000 estaciones de trabajo Windows 7–10, los tickets de soporte llegaban sin direcciones IP ni nombres de host. Acceder a la información del PC de un usuario requería búsquedas manuales en ADUC: copiar el nombre de usuario del ticket, navegar por la consola y extraer el nombre de host del campo Descripción de la cuenta. Esto ralentizaba el procesamiento, especialmente al recopilar configuraciones de hardware o manejar tareas rutinarias sin acceso remoto.

La solución: un script personalizado de PowerShell con interfaz GUI. Introduce un nombre de usuario y la herramienta extrae el nombre de host de AD, recopila detalles de la cuenta y del PC, y ofrece botones para acciones. Los resultados aparecen en una sola ventana: panel superior para información, medio para botones funcionales e inferior para salida.

El script se desarrolló desde cero basado en el análisis de la GUI de código abierto LazyWinAdmin (2011), adaptado a un entorno corporativo. Esto garantizó seguridad, adaptación a tareas específicas y experiencia práctica con PowerShell a nivel de desarrollador intermedio.

Google AdInline article slot

Características clave de la herramienta

La herramienta cubría escenarios cotidianos de soporte TI. Requería derechos de administrador en todos los PC del dominio y acceso a la red (WinRM, SMB, ICMP).

Aquí está la funcionalidad principal:

  • Búsqueda y datos de AD: nombre de host por usuario, hora del último inicio de sesión, vencimiento de contraseña, ping al nombre de host, nombre completo, teléfono, ID de empleado, pertenencias a grupos.
  • Acceso remoto: MSRA, Dameware, RDP—a tu elección.
  • Diagnósticos de hardware: configuración del PC (Get-WmiObject Win32_ComputerSystem, Win32_Processor, etc.), estado S.M.A.R.T. de HDD.
  • Administración: lanzar mmc 'Administración de equipos' con derechos elevados, PS Remoting, cmd con derechos de administrador, reinicio/apagado.
  • Mantenimiento: limpiar archivos temporales (sin GPO necesario), calcular espacio para perfiles locales/itinerantes, copiar instaladores de software.
  • Software y cuotas: lista de software instalado (Get-WmiObject Win32_Product), tamaño de buzón de Exchange.
  • Funciones especiales: reconfigurar reglas del Firewall de Windows, ajustes de registro para periféricos, enviar mensajes al PC, referencia de resolución de tickets.
  • Operaciones masivas: exportaciones de AD (miembros de grupos, empleados por puesto), agregar a grupos.

La implementación se basó en los módulos ActiveDirectory, WMI/CIM y WinRM. La GUI se construyó con Windows Forms (Add-Type -AssemblyName System.Windows.Forms), con un TextBox para entrada de usuario, DataGridView para salida y Buttons para acciones.

Google AdInline article slot

Desarrollo y mejoras

Inicialmente, el script manejaba búsquedas de nombres de host. Las funciones se añadieron gradualmente según surgían tareas rutinarias: desde diagnósticos hasta automatizar instalaciones de software. El principio rector: operaciones de un clic con registro en la GUI.

Ejemplo de lógica para nombre de host:

$username = $textboxLogin.Text
$user = Get-ADUser -Identity $username -Properties Description
$hostname = $user.Description

Para inventario de hardware:

Google AdInline article slot
Invoke-Command -ComputerName $hostname -ScriptBlock { Get-WmiObject Win32_Processor | Select Name, NumberOfCores }

La herramienta sirvió a un equipo de 15 especialistas durante 3 años, acelerando la resolución de tickets. Limitaciones: dependencia de derechos de administrador, no disponibles alternativas de software nacional en el momento del despliegue.

Lecciones clave

  • El script redujo el tiempo de búsqueda de datos de minutos a segundos, minimizando el trabajo manual en ADUC.
  • Cubre el 80% de tareas rutinarias de nivel 2 sin conectar al PC.
  • Requiere derechos completos de administrador de dominio; la funcionalidad es limitada en entornos restringidos.
  • Basado en PowerShell 5.1+ con módulos de AD y WinRM habilitado.
  • Escalable mediante perfiles (conjuntos de botones diferentes por roles).

— Editorial Team

Advertisement 728x90

Leer después