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

Signaler
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
-
Messages postés
1
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 février 2010
-
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

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
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()) ;
Messages postés
28
Date d'inscription
dimanche 24 août 2003
Statut
Membre
Dernière intervention
28 septembre 2009

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
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Ah, je connaissais pas WMI, merci pour l'info

Krimog :
while (!succeed = try()) ;
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Salut,

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

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
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
Messages postés
1
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 février 2010

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