Lancer un programme su rposte distant qui s'execute sur poste distant

cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 19 févr. 2009 à 19:50
cs_zebra3 Messages postés 1 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 8 février 2010 - 8 févr. 2010 à 12:42
Bonsoir j'ai fait un programme qui copie des fichiers xml sur un poste distant
j'ai créé un autre programme qui se trouve le poste distant qui est censé traité ces données...
dans mon premiere programme j'appelle l'autre programme apres la copie de fichiers par :
Process.Start("\\\" +nomduposte + repertoire du 2e programme + "\\mon2eprogramme.exe");

apres test je me rend compte qu'en fait mon2e programme.exe execute sur la machine a partri de laquelle j'ai lancé l'instruction

mais je voudrais qu'il s'execute directement sur la machine distante ( si je copie les fichiers sur la machien distante c'est pour qu'ils soient traités la bas ...)

2e question : puis lancer le promme distant sans avoir a préciser le chemin d'acces ??? ( j'ai essayé d'ajouter ds les parametres de windows le path repertoire du 2e programme ( sur le poste distant) mais si je en precise pas le repertoire ds process.start , il ne trouve pas ...

3e question j'avais essayé également de récuperer la réponse du 2e programme avec process.start(...).exitcode
mais j'obtiens un messsage d'erreur comme quoi l'application doit etre termniée avant d'obtenir ce code

le main de mon 2e programme est :

        [STAThread]
        static int Main()
        {
            //Application.EnableVisualStyles();
            //Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());
            if (2eprogramme())
            {
                return 1;
            }
            else
            {
                return 0;
            }
        }

voila , c'est assez urgent , je n'ai aps trouvé de solution pour l'instant ( recherche sur forums , google ..; peut etre pas avec le s bons mots cles)

je vous remercie de votre aide

6 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 48
20 févr. 2009 à 11:39
Salut.

Il n'est, à la base, pas possible de lancer simplement une application sur un poste distant.
Le meilleur moyen, c'est de faire un programme/service sur le poste distant qui communique avec ton poste et qui peut lancer un programme.

Sinon, je crois que Microsoft a créé un programme permettant de faire ça, gratuit, mais je ne peux pas te dire son nom, désolé.

Krimog :
while (!succeed = try()) ;
0
crougni77 Messages postés 28 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 28 septembre 2009
20 févr. 2009 à 15:34
Salut

alors pour exécuter un process sur un autre poste, tu peu également passer par le WMI de Windows.

une petite présentation : http://dotnet.developpez.com/articles/wmi1/

et un exemple de code ( en anglais ) : http://www.codeproject.com/KB/cs/Remote_Process_using_WMI_.aspx

Par contre il faudra bien prendre en compte tout les soucis de droits liés l'utilisation de WMI

CrougniMan
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 48
20 févr. 2009 à 16:15
Ah, je connaissais pas WMI, merci pour l'info

Krimog :
while (!succeed = try()) ;
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
21 févr. 2009 à 18:54
Salut,

krimog : je pense que tu parles de psexec, un des outils Sysinternals.

/*
coq
MVP Visual C#
CoqBlog
*/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
24 févr. 2009 à 13:53
bonjour
, merci pour les infos
j'ai testé avec pesexec mais j'ai un probleme de droit je pense
meme quand j'essaie de faire en ligne de commande psexec  \\poste_distant cmd j'ai un acces refusé
j'ai essayé avec le nom d'utilisateur etle mot de passe ... rien tjrs pareil
acces refusé
j'ai aussi essayé avec un truc que j'ai trouvé sur internet (un truc comme runasloggedonuser.exe) mais tjrs les meme message acces refusé
grrr...
je comprend pas
0
cs_zebra3 Messages postés 1 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 8 février 2010
8 févr. 2010 à 12:42
tu peux essayer en spécifiant le login et le password à utiliser avec psexec dans ta ligne de commande
"psexec -u LOGIN -p PASSWORD"
ça permettra au système distant d'utiliser ce compte pour executer la commande
0