
¿Cómo evito que el usuario abra varias instancias de un ejecutable en el servidor (Windows 2008 R2)? Por ejemplo, tenemos usuarios que abren un programa instalado en el servidor desde su PC (Windows 7 Enterprise); en muchos casos, abren el ejecutable, van a una ubicación diferente y lo abren nuevamente en otra PC. Esto crea múltiples instancias, lo que hace que ese usuario utilice más de una licencia.
** Me acaban de decir que el problema se ha solucionado. Uno de los ingenieros de procesos creó un programa que identificaba todas las instancias en ejecución y podía cerrar una instancia cuando se le ordenaba. Sin embargo, esta sigue siendo una forma manual de solucionar el problema, pero yo no tomo esas decisiones. Gracias a todos los que han contribuido.
Respuesta1
Ejecute tsconfig.msc y establezca "Restringir cada usuario a una sola sesión" en Sí.
Respuesta2
Reemplazaría el acceso directo al programa con un acceso directo a un script de inicio. La secuencia de comandos del iniciador verificaría si el proceso fue iniciado por el usuario que inició la secuencia de comandos. En caso afirmativo, déle al usuario la opción de finalizar el proceso o simplemente muestre un mensaje que indica que el usuario no puede volver a iniciarlo.
Estoy buscando formas de cambiar de secuencia de comandos y mover el programa en ejecución a la sesión actual, pero todavía no he encontrado suerte en ese camino. Lo mejor que se me ocurre es usar un mensaje de opción para preguntarle al usuario si desea cambiar a la sesión con el programa en ejecución y, en caso afirmativo, usarlo tscon <session id> /v
para cambiar al usuario a esa sesión.
Relacionado:Conexión a una sesión específica mediante escritorio remoto