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
[..] Menu d'application à l'ouverture d'une session TSE
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- Tlem
- 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
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.
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é".
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é".
Re: [..] Menu d'application à l'ouverture d'une session TSE
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)...
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)...
Re: [..] Menu d'application à l'ouverture d'une session TSE
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 ?
Merci.
Edouard
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,"")Edouard
Re: [..] Menu d'application à l'ouverture d'une session TSE
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
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
Re: [..] Menu d'application à l'ouverture d'une session TSE
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.
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.
Re: [..] Menu d'application à l'ouverture d'une session TSE
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
Mais les commandes terminal serveur fonctionne sans psexec et sans les droits administrateur
CMD /K QUERY USER


