Necesitas saber de forma precisa qué usuarios ejecutan cada aplicación en tu servidor Remote Desktop Services (RDS) y con qué frecuencia para decidir si mantenerlas o retirarlas. En esta guía exhaustiva aprenderás cómo habilitar los registros nativos de Windows Server, cómo ampliar la visibilidad con auditoría de procesos y qué métricas revisar periódicamente para respaldar decisiones de licenciamiento y capacity planning.
Por qué medir el uso de aplicaciones en RDS
Conocer quién utiliza cada programa y con qué regularidad te permite:
- Optimizar costes de licencias: anula suscripciones y CALs infrautilizadas.
- Reducir superficie de ataque: desinstala software obsoleto o vulnerable.
- Dimensionar hardware: asigna CPU, memoria y almacenamiento a lo que realmente importa.
- Demostrar cumplimiento: entrega evidencias de uso ante auditorías internas o de fabricantes.
Métodos nativos de Windows Server RDS
1. Habilitar la contabilidad en el servidor RD Gateway
Si tus usuarios acceden mediante RD Gateway, habilita Accounting para que el servicio envíe cada inicio y cierre de sesión a un servidor NPS (Network Policy Server) o a un repositorio local SQL. Esto genera un registro de quién, desde dónde y duración de la sesión que después podrás consultar o exportar a tu SIEM.
2. Generar informes de uso desde la consola de administración RDS
Accede a Server Manager → Remote Desktop Services → Overview → Collections, elige la colección y haz clic en Tasks → Generate Report. Selecciona Usage y define periodo (hasta 31 días). Obtendrás un fichero .XML y un .CSV con:
- Nombre de usuario (dominio\usuario)
- Equipo de origen
- Número de inicios de sesión en el periodo
- Duración total de la sesión y tiempo activo
- Aplicaciones RemoteApp abiertas
3. Consultar el panel de monitorización histórico
En la misma consola, Monitoring muestra en tiempo real sesiones activas, usuarios conectados y uso de CPU/RAM en cada Host RD Session. Cambia la vista a “Historical” para ver gráficas diarias o semanales. Cruza picos de carga con la lista de procesos para identificar qué aplicación los provoca.
Auditoría de procesos: detalle a nivel de ejecutable
4. Activar auditoría de creación y terminación de procesos
Mediante Directiva de Grupo (gpedit.msc en el servidor o GPO dominio) navega a:
Configuración del Equipo → Configuración de Windows → Configuración de Seguridad → Directivas de Control de cuentas de auditoría → Auditoría detallada → Auditoría de procesos
Habilita “Auditar Creación de procesos (ID 4688)” y “Auditar Terminación de procesos (ID 4689)”. Reinicia para aplicar.
5. Filtrar los eventos relevantes
En Visor de Eventos → Registros de Windows → Seguridad crea una Vista Personalizada con:
- ID 4688, 4689
ProcessName
= app.exe (usa comodines para varias apps)
Exporta a .EVTX o reenvía vía Suscripciones de eventos para retención a largo plazo.
6. Afinar el nivel de detalle con Sysmon
Sysmon complementa la auditoría nativa registrando hash del binario, línea de comandos completa y PID padre. Instálalo con:
sysmon -accepteula -i sysmonconfig.xml
En sysmonconfig.xml
especifica solo las aplicaciones de interés para reducir ruido y tamaño de log.
Herramientas complementarias
Herramienta | Qué aporta | Retención |
---|---|---|
Performance Monitor | Contadores Process\% Processor Time, Terminal Services * | Automático + CSV (Data Collector Sets) |
Remote Desktop Reporter | Dashboard web con sesiones, apps, licencias | BD SQL propia |
PowerShell Get-RDUserSession | Consulta live de sesiones y aplicaciones | En memoria |
Procedimiento paso a paso recomendado
- Define el alcance: lista de servidores, apps objetivo y periodo de análisis (p. ej. 90 días).
- Activa contabilidad RD Gateway (si aplica) y redirige los registros a tu NPS o SQL Express.
- Habilita Auditoría 4688/4689 o Sysmon solo para los ejecutables definidos.
- Crea Data Collector Sets en Performance Monitor para CPU, RAM y procesos clave.
- Recolecta datos el tiempo previsto. Verifica espacio en disco y depura alertas de tamaño.
- Consolida la información en Power BI, Excel Power Query o tu SIEM para cruzar:
- Usuario ↔ Aplicación ↔ Duración
- Picos de recursos ↔ Proceso alineado
- Licencias asignadas ↔ Uso efectivo en %
- Toma decisiones: desinstalar, migrar a SaaS, restringir mediante AppLocker o etiquetar como “negocio crítico”.
- Documenta y agenda revisiones trimestrales. Automatiza scripts PowerShell para generar reportes PDF y enviarlos por correo.
Buenas prácticas de almacenamiento y privacidad
- Configura políticas de retención acorde a tu normativa (GDPR, ISO 27001…).
- Redacta un aviso a los usuarios explicando la finalidad de la auditoría.
- En entornos críticos, centraliza logs en un repositorio WORM o un buckets S3 inmutables.
- Usa compresión (.zip con AES‑256) o cifrado de volumen (BitLocker) para respaldos.
Preguntas frecuentes (FAQ)
¿Cuánto impacto tiene habilitar la auditoría 4688/4689?
En servidores con cientos de usuarios simultáneos el volumen de eventos puede crecer a varios GB diarios. Reduce el impacto filtrando por ruta de la aplicación o con Sysmon + exclusiones.
¿Puedo ver en tiempo real quién abrió “Excel.exe”?
Sí: ejecuta qprocess excel /server:rds01
o en PowerShellgwmi Win32Process | ? {$.name -eq 'excel.exe'} | select @{N='User';E={$_.GetOwner().User}}, ProcessId
¿Cómo cruzo el log de procesos con licencias Microsoft 365?
Exporta desde M365 Admin Center el CSV de asignaciones y compáralo con tu tabla de uso real. Con Power Query puedes unir ambas fuentes por UPN.
Conclusión
Habilitar la contabilidad de RDS y la auditoría de procesos te dará la visibilidad necesaria para justificar compras de licencias, consolidar software y mantener tu plataforma segura. Empieza con las capacidades nativas de Windows Server y luego amplía con Sysmon o soluciones de terceros si necesitas historiales amplios o facilidad de reporte visual.