viernes, 1 de septiembre de 2017

Batch Script cerrar sesiones activas y desconectadas en un Windows Terminal Server para realizar un mantenimiento

rem Ejemplo bacth script para Terminal Server que avisa y cierra sesiones Activas y Desconectadas, exceptuando 1 Sesion y ademas para e inicia un servicio. Funciona correctamente en Windows 2008 Server R2
rem enviar mensajes a las sesiones Activas aviso menos a la sesion de Usuario
for /F "tokens=1,2,3,4,5" %%A in ('"query session | find "Activo""') DO (if NOT %%B==Usuario (msg %%B "Por mantenimiento, en 5 minutos su sesion va a ser cerrada. Conecte de nuevo en unos minutos." 2> nul))
rem espera 5 minutos antes de proceder
timeout /t 300 /nobreak
rem paramos un servicio
net stop nombre_servicio 2> nul
rem Esperar 30 segundos
timeout 30
rem cerramos sesiones Activas y Desconectadas menos la sesion de Usuario
for /F "tokens=1,2,3,4,5" %%A in ('"query session | find "Activo""') DO (if NOT %%B==Usuario (logoff %%C))
for /F "tokens=1,2,3,4,5" %%A in ('"query session | find "Desc""') DO (if NOT %%A==Usuario (logoff %%B))
rem Esperar 30 segundos
timeout 30
rem iniciar servicio
net start nombre_servicio 2> nul
rem Esperar 5 segundos
timeout 5

1 comentario:

  1. Hola, gracias por tu blog, me ayudo en un tema de usuarios desconectados, utilice parte del script.
    Un saludo

    ResponderEliminar

VBA Access. Redondeo de números decimales con el método medio redondeo. Alternativa a la función Round (bankers round)

 Private Function Redondeo(ByVal Numero As Variant, ByVal Decimales As Integer) As Double     'Aplica método medio redondeo (half round ...