Executer un programme externe [Résolu]

Steph115 163 Messages postés mercredi 22 octobre 2003Date d'inscription 3 février 2012 Dernière intervention - 23 juil. 2007 à 11:35 - Dernière réponse : zuff 79 Messages postés lundi 28 octobre 2002Date d'inscription 21 octobre 2008 Dernière intervention
- 24 juil. 2007 à 09:59
Bonjour,

Est-il possible que le site web en ASP 2 (possibilité de le basculer en ASP3) en C# lance un programme externe sur le serveur avec les droits d'Administrateur ?

Merci pour vos réponses,

Nexus
Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_poppyto 541 Messages postés dimanche 29 décembre 2002Date d'inscription 13 mai 2011 Dernière intervention - 23 juil. 2007 à 11:54
3
Merci
Oui c'est possible en utilisant l'impersonification :
http://www.aspfr.com/codes/IMPERSONATION-EXECUTER-BOUT-CODE-AVEC-DROITS-AUTRE-UTILISATEUR_37881.aspx

Poppyto

Merci cs_poppyto 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de cs_poppyto
Meilleure réponse
Steph115 163 Messages postés mercredi 22 octobre 2003Date d'inscription 3 février 2012 Dernière intervention - 23 juil. 2007 à 17:00
3
Merci
J'ai trouvé

System.Diagnostics.
Process
.Start(
"notepad"
);

Merci. ++ Nexus Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.

Merci Steph115 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de Steph115
Steph115 163 Messages postés mercredi 22 octobre 2003Date d'inscription 3 février 2012 Dernière intervention - 23 juil. 2007 à 14:41
0
Merci
OK Merci de ton coup de main je viens de mettre la fonction en place.

Saurais tu comment je peux faire pour lancer un fichier .bat qui est sur la même machine ?

Merci. ++ Nexus Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Commenter la réponse de Steph115
Steph115 163 Messages postés mercredi 22 octobre 2003Date d'inscription 3 février 2012 Dernière intervention - 23 juil. 2007 à 15:29
0
Merci
En fouillant un peu j'ai trouvé ceci mais en VB et en C# apparement ca ne serait pas les bonne méthode

Set WSH = Server.CreateObject("WScript.Shell")
Commande = "sc"
Commande = "cmd /c " & Commande

WSH.Run Commande, 0, True
Set WSH = Nothing


Merci. ++ Nexus Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Commenter la réponse de Steph115
zuff 79 Messages postés lundi 28 octobre 2002Date d'inscription 21 octobre 2008 Dernière intervention - 24 juil. 2007 à 09:59
0
Merci
J'ai trouvé ce code qui me permet de lancer un fichier bat :

// Get the full file path

string strFilePath = Server.MapPath(
".") +
"\" + Session[
"Login"].ToString() +
".bat";

// Create the ProcessInfo objectSystem.Diagnostics.

ProcessStartInfo psi =
new System.Diagnostics.
ProcessStartInfo("cmd.exe");psi.UseShellExecute false;psi.RedirectStandardOutput
true;psi.RedirectStandardInput true;psi.RedirectStandardError

true;psi.WorkingDirectory = Server.MapPath(

".");

// Start the processSystem.Diagnostics.

Process proc = System.Diagnostics.
Process.Start(psi); 

// Open the batch file for readingSystem.IO.

StreamReader strm = System.IO.
File.OpenText(strFilePath);

// Attach the output for readingSystem.IO.

StreamReader sOut = proc.StandardOutput;

// Attach the in for writingSystem.IO.

StreamWriter sIn = proc.StandardInput; 

// Write each line of the batch file to standard input

while (strm.Peek() != -1){

sIn.WriteLine(strm.ReadLine());

}

strm.Close();

// Exit CMD.EXE

string stEchoFmt =
"# {0} run successfully. Exiting";sIn.WriteLine(

String.Format(stEchoFmt, strFilePath));sIn.WriteLine(

"EXIT");

// Close the processproc.Close();

// Read the sOut to a string.

string results = sOut.ReadToEnd().Trim(); 

// Close the io Streams;sIn.Close();

sOut.Close();
Commenter la réponse de zuff

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.