Cerrar sesión automáticamente XP/VISTA/7/2003/2008

Después de bastante tiempo vuelvo por acá. La idea es ir detallando experiencias técnicas que puedan ayudar a alguien más en su trabajo.

Hoy veremos lo siguiente…

En la oficina de un cliente existe un ERP el cual hace los respaldos de manera automática en la noche. Para que se haga el respaldo de dicho ERP el usuario debe tener cerrado el cliente del ERP.

Algunos usuarios trabajan en una LAN privada, pero otros se conectan a un servidor Windows Server y trabajan en la aplicación por Terminal Service.

Cuando estos usuarios trabajan muchas veces no cierran la sesión y dejan el software abierto, por lo que el respaldo no se puede ejecutar.

Entonces la solución es que las sesiones se cierren después de cierta cantidad de tiempo “IDLE”, si bien Windows Server 2003 tiene un función bajo Active Directory y Policy que me permite hacer esto, no me funciono. Como es un servidor de producción no puedo alterar el dominio en cualquier momento, pero los respaldos se deben hacer a la brevedad, en caso de una base de datos dañada se podrían perder años de información.

Decidí buscar una alternativa a este problema y encontré una “freeware” que me permite hacer exactamente lo mismo que Windows Server 2003, cerrar las sesiones locales o por Terminal Service después de X cantidad de segundos.

La herramienta que utilice en cuestión es la siguiente, idlelogoff.

A través de un ejecutable de aproximadamente 120kb solucione un problema sin alterar el SO.

La herramienta funciona en base a parámetros de configuración y ejecución.

Permite después de X segundos:

  • Cerrar la sesión
  • Bloquear la sesión
  • Apagar el equipo

Los parámetros de configuración son los siguientes

idlelogoff.exe [timeout] [action]
  • timeout – Corresponde al tiempo de espera antes de ejecutar la acción.
  • action – [logoff / lock / shutdown] Es la acción que se ejecutara después de X cantidad de segundos.

Ej: Si quiero que después de 10 minuto el equipo en estado “IDLE” el equipo cierre la sesión el comando seria el siguiente

idlelogoff.exe 600 logoff

Se entiende que [timeout] funciona en segundos y no en minutos ni horas.

Para asegurar que la herramienta se ejecute en todas las sesiones se cree el siguiente script, es básico, pero cumple su función.

@echo off

cd C:\**ruta del programa**\

idlelogoff.exe 600 logoff

Este script se guarda .bat y se copia al inicio de todas las sesiones en el servidor.

Para descargar esta herramienta se puede hacer desde la siguiente url

http://www.intelliadmin.com/idlelogoff.exe

Espero les sea de ayuda, saludos!

Carlos Gallardo I.
Jefe de Proyectos Informáticos
Email: cgallardo@pcready.cl
Telefono: +56 (2) 2938 1407
Telefono: +56 (32) 314 0883
Skype: pcready.cl
Facebook: pcreadychile
Twitter: @pcready_cl
Web: http://www.pcready.cl

Categories: Soporte PC Ready

Tags: , , , , , , , , , , , , , , ,