Verifiqué otro hilo ( Ejecutar automáticamente un script cuando inicio sesión en Windows ) , pero no resolvió mi problema exacto.
Necesito ejecutar un script cuando se realiza una conexión a través de mi red utilizando la Conexión de escritorio remoto de Windows .
El hilo mencionado anteriormente funciona para el inicio de sesión inicial , sin embargo, si no cierro sesión (lo cual es necesario para algunos procesos que se ejecutan en mi red), no volverá a ejecutar el script la próxima vez que alguien se conecte al sistema usando conexión de escritorio remoto. Anteriormente estábamos usando pcAnywhere para lograr esto, sin embargo, después de encontrar algunos problemas gráficos con pcAnywhere, hemos decidido alejarnos de él a RDC.
Antecedentes: necesitamos que se envíe un correo electrónico cada vez que se establezca una conexión con máquinas particulares. El nombre de inicio de sesión siempre será el mismo para esos sistemas y no cerramos la sesión al cerrar la conexión.
fuente
Puede realizar una nueva tarea programada y definir el desencadenador en "En el momento de una nueva conexión a una sesión de usuario"
fuente
Si está familiarizado con la programación en .net, es posible que desee ver este hilo en Stack Overflow .
De acuerdo con Steven A. Lowe:
También puede supervisar una conexión en el RDP, que por defecto es TCP 3389.
fuente
Utilice el disparador "En conexión con la sesión del usuario"
Nota: Solo noté que la pregunta está etiquetada "XP" / "Server2008". Lo que está aquí solo puede funcionar en Vista / 2008R2 en adelante.
El programador de tareas de Windows tiene un activador predefinido para eso. Se llama
On connection to user session
.También le permite distinguir entre usuarios y entre conexiones locales o remotas.
El valor predeterminado al crear este activador:
Any user
yConnection from remote computer
. Esto parece ser lo que quieres, por lo que no tienes que cambiar eso.Captura de pantalla aquí:
Fuente: Microsoft TechNet: Programador de tareas | Disparadores (Archivado aquí ).
Otras lecturas
Cuando exporta esta tarea y luego mira dentro del archivo, verá que esto es un desencadenante de tipo
SessionStateChangeTrigger
: hay documentación detallada sobre MSDN:SessionStateChangeTrigger object
(Archivado aquí ).SessionStateChangeTrigger.StateChange property
(Archivado aquí ).fuente