[..] Menu d'application à l'ouverture d'une session TSE

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ed3337100
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 17 mars 2010 10:07
Status : Hors ligne

[..] Menu d'application à l'ouverture d'une session TSE

#1

Message par ed3337100 »

Bonjour,
J'ai créé un script qui à l'ouverture d'une session TSE sur un serveur Windows 2003 affiche une liste d'application. Ce menu s'ouvre automatiquement via une GPO...

J'ai configuré mon application pour que tout utilisateur qui ouvre une application, une variable avec le nom de l'appli s'incrémente de 1 dès qu'elle est lancée. Ainsi, je sais en temps réel combien il y a d'utilisateurs qui ouvrent mon appli.

Mon problème est le suivant : pour éviter d'avoir des sessions TSE fantomes, j'ai configuré mes GPOs pour casser les sessions TSE inactive au bout de 3h.

Or, dans mon application (dans son fonctionnement normal), si l'utilisateur quitte proprement, dans mon fichier texte, la variable contenant le nom de l'application est décrémenté de 1. Dans le cas ou la session TSE est killé....(automatiquement par le serveur), mon menu d'application, à la fermeture de la session TSE n'a pas le temps de faire -1 dans mon fichier texte.

Ma question : existe t'il une astuce, une fonction qui dit que si le programme est killé brutalement alors je peux faire tel ou tel action ?

Merci.

Edouard
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Menu d'application à l'ouverture d'une session TSE

#2

Message par Tlem »

Si vous 'killez' une application, vous l'empêchez de faire quoi que ce soit.
Donc je doute qu'il y ait une solution simple à votre demande.
Peut être devez-vous envisager une action sur le démarrage suivant si telle ou telle action/fichier/ou autre est présent. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ed3337100
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 17 mars 2010 10:07
Status : Hors ligne

Re: [..] Menu d'application à l'ouverture d'une session TSE

#3

Message par ed3337100 »

Merci pour ton retour.

Je vais devoir me creuser les ménuinges, car en faite, en fonction du nbr de user connecté sur une appli sur un serveur, je le dirige vers le serveur le moins chargé.....(un genre de load balancing)...
ed3337100
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 17 mars 2010 10:07
Status : Hors ligne

Re: [..] Menu d'application à l'ouverture d'une session TSE

#4

Message par ed3337100 »

Bonjour à tous....

Du nouveau....je vais essayer de ne pas passer par un fichier ini mais plutôt par les DLL wtsapi32.dll.

J'ai fait le code suivant.
La dernière valeur retournée correspond au nbr de session TSE en cours sur le serveur donné.
Pourquoi, lorsque je n'ai aucune connexion TSE, j'ai un résultat de 2 ?

Code : Tout sélectionner

#include<array.au3>
;Handle vers le serveur
$handle = DllCall("wtsapi32.dll","hwnd","WTSOpenServer","str","TSE1")
;Interro nbr de sessions
$value = DllCall("wtsapi32.dll","int","WTSEnumerateSessions","hwnd",$handle[0],"dword",0,"dword",1,"ptr*","","dword*","")
;Verif erreur
MsgBox(0,"",@error)
_ArrayDisplay($value,"")
Merci.

Edouard
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Menu d'application à l'ouverture d'une session TSE

#5

Message par Yogui »

il est peut être possible d'utiliser les outils PsExec pour ce problème

http://technet.microsoft.com/fr-fr/sysi ... 97553.aspx


par exemple : psloggedon \\SERVEURTS1

va donner la liste des utilisateurs connecté sur le serveur SERVEURTS1

Ou pour être encore plus précis utiliser les commandes TSE avec psexec :

exemple : psexec \\SERVEURTS1 CMD /K QUERY USER

Qui donne

UTILISATEUR SESSION ID ÉTAT TEMPS INACT TEMPS SESSION
TOTO rdp-tcp#31 16 Actif 5 24/03/2010 13:1


Les commandes terminal serveurs se trouvent ici :

http://technet.microsoft.com/en-us/libr ... S.10).aspx

Edit pour ajout des liens
ed3337100
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 17 mars 2010 10:07
Status : Hors ligne

Re: [..] Menu d'application à l'ouverture d'une session TSE

#6

Message par ed3337100 »

Merci pour ton retour.
Sauf qu'avec PSEXec, c'est une appli exterieur à AutoIt et si j'execute mon prgm à distance, il faut que psexec soit accessible à tous....

Avec le DLLCall, la DLL wtsapi32.dll est inclue par défaut sur chacun de mes PCS....donc je gagne du temps en exécution.
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Menu d'application à l'ouverture d'une session TSE

#7

Message par Yogui »

je n'avais pas compris que vous vouliez faire ça par les utilisateurs

Mais les commandes terminal serveur fonctionne sans psexec et sans les droits administrateur

CMD /K QUERY USER
Répondre