Batch Script para obtener todas las sesiones activas de RDS

Hasta Win Server 2008 R2 existía una herramienta llamada -Remote Desktop Services Manager- en ella podías ver la todas sesiones activas de RDS, su tiempo inactivas y aplicarles logoff si era necesario.

En 2012 esta herramienta desapareció y aunque hay diferentes formas de administrarlas, básicamente, termina siendo a mano en todos los casos. Como comento el párrafo anterior, hay 3 cosas básicas para las que se utilizaba:

  • Ver el tiempo de inactividad por sesión (idle time)
  • Hacer logoff a la sesión en el caso de que tus CAL sean limitadas y quieras hacerle cancha a otro usuario, o bien, meros fines administrativos.
  • Hacer un conteo de tus usuarios online en un determinado momento, esto por si veías problemas de performance y determinar si esta es la causa.

Evidentemente no son las únicas razones, pero habitualmente para eso.

Como en 2012 ya no existe esa herramienta me hice un Batch Script que hace un query user, lo manda a un txt y me manda un resumen a pantalla de las sesiones activas al momento de ejecución, no es mucho, pero es un trabajo honesto, y me facilita algunas tareas administrativas y de control.

@echo off
SETLOCAL EnableDelayedExpansion
query user > Sessions.txt
set /a count = 0
for /f "skip=1 tokens=1,3,5" %%i in (Sessions.txt) DO (@echo La sesion de %%i numero %%j lleva %%k minutos inactiva
set /a count += 1)
echo Hay un total de !count! sesiones
ENDLOCAL
cmd /k

Así que copien el código a un notepad y guardenlo con extensión BAT, ejecutenlo y disfruten.

Emmanuel.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.