Page 1 sur 1

[R] Autoit et les Services windows...

Posté : jeu. 04 nov. 2010 14:54
par DimVar
Bonjour,


Je me pose une question existentielle depuis peu.
Nous savons qu'il est possible de creer un service windows pour y "integrer" un script compilé d'autoit.

Exemple : Je souhaite que mes users ai tjs toto.exe sur leur session. S'ils le ferme par inadvertance, il se relance en auto grace à un service qui lance control.exe (code source de control.exe ci dessous) :

Code : Tout sélectionner

While 1

    Sleep (1000)

    If Not ProcessExists ("toto.exe") Then
        Run ("toto.exe")
    EndIf

WEnd
Seulement voila, lors de la creation du service (Methode du "srvany et instserv"), l'exe à lancer comme service (control.exe) est lancé par le user "system". Tous se deroule bien, le service est bien créée, la relance de toto.exe fonctionne mais tout ca sous la session "system". Autrement dit, toto.exe ets relancé sans etre "visible" sur la session du user....

Auriez vous une idee pour que le service relance toto.exe sous le compte du user ? (sachant que je n'ai pas le mdp des 60 users du parc info... :) )

Conscient que cela touche plus aux competences d'un admin sys que d'un dev... :?

Re: [..] Autoit et les Services windows...

Posté : jeu. 04 nov. 2010 15:30
par Jerome
Coucou,


Surement un soucis de droit, vous devriez essayer avec la fonction RunAs.





Jérôme

Re: [..] Autoit et les Services windows...

Posté : jeu. 04 nov. 2010 15:38
par DimVar
Désolé, mais je comprends que la commande runas me permettra de lancer "en tant que", mais je ne peux lancer "en tant que" user du poste de travail puisque je n'ai pas son mdp. (necessaire comme parametre de la commande runas).
Je peux, je pense demander le mdp admin de domaine et le lancer "en tant que" admin du domaine mais ne vais je pas rencontrer le meme soucis ? C'est à dire que toto.exe va se relancer sur la session admin du domaine et pas sur la session du user...

Merci.

Re: [..] Autoit et les Services windows...

Posté : jeu. 04 nov. 2010 16:23
par Jerome
Coucou,

Si tu lui dit de lancer en tant qu'admin, il va se lancer sur la session actuellement connecter à l'ordinateur, c'est à dire la session user.

Donc il vous forcement le lancer en admin étant donnée que les utilisateurs de votre domaine n'on pas forcément les droits admin local sur leurs postes.




Jérôme

Re: [..] Autoit et les Services windows...

Posté : sam. 06 nov. 2010 12:32
par moutelous
Bonjour,

J'ai déjà été confronté à un problème similaire ....

Vous n'avez, à ma connaissance, pas d'autre possibilité que d'employer un RunAs ou de paramétrer le service pour le lancer sous un compte particulier (fenêtre propriétés du service) et pour que le résultat soit visible par l'utilisateur ... mais dans les 2 cas vous devez connaitre et saisir le mot de passe du compte ...... Lancer le service sous un compte admin n'aura pas plus d'effet sur la visibilité ....

Mais pour revenir à votre problématique, pourquoi voulez vous passer par un service ? L'intérêt du service étant de lancer des tâches en dehors de tout login. Pourquoi ne pas lancer votre application lors du login de l'utilisateur et de surveiller ce process comme vous vous proposez de le faire ?

Re: [..] Autoit et les Services windows...

Posté : lun. 08 nov. 2010 14:06
par DimVar
Je viens de me rendre dompte que dans l'onglet "connexion" des propriétés du service, il fallait cocher "autoriser le service à interagir avec le bureau".
Depuis, l'appli à lancer est visible dans la session du user.

Je retiens néanmoins vos pistes pour une étude future.

Merci.