Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Exécuter une commande DOS en ASP .NET

12 réponses
Avatar
Martin
Bonjour à tous,

J'aimerais exécuter un fichier EXE à partir d'un bouton dans une page ASP
.NET.
Le fichier EXE doit également avoir des arguments passé en paramètre.
Voici ma ligne de commande:

\\QMDGEOFOR\C$\Program Files\ESRI\License\lmutil.exe lmstat -a -c >
fichier.txt

Les statistiques lors de l'exécution de cette ligne de commande vont être
envoyé dans un fichier texte.

Alors, comment peut-on exécuter une ligne de commande DOS dans une page ASP
.NET.

Merci à l'avance !!!

2 réponses

1 2
Avatar
Martin
Voici la ligne de commande que je voudrais faire exécuter:

QMDGEOFORc$Program FilesESRILicenselmutil.exe lmstat -a -c >
resultat.txt

"Patrice" a écrit :

Je pense que tester avec notepad.exe est une mauvaise idée. Si tu veux
tester, utilise plutôt une application ligne de commande quelconque qui
modélisera mieux ton objectif final (j'imagine que l'appli que tu cites dans
ton message initial n'a pas d'UI) du style net.exe ou quelque chose comme
cela...

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
> Déjà es tu sûr de vouloir l'afficher à l'écran ?
>
> Le process s'exécute sur un serveur qui peut très bien n'avoir aucune
> session ouverte. Peux tu expliquer un peu ce que tu essaies de faire ?
> Lancer un EXE à partir d'une application ASP.NET me parait plus ou moins
> normal mais vouloir que cette EXE soit visible sur le bureau me parait
> totalement inhabituel (si tu utilise localhost pour le dév n'oublie pas
> que tu es dans un cas tout à fait particulier où le serveur et le client
> sont la même machine, ce qui ne sera plus le cas dès que tu bougeras
> l'appli ailleurs).
>
> ----
>
> Patrice
>
> "Martin" a écrit dans le message de
> news:
>> J'ai bien beau changer identity impersonate ou authentication mode, soit
>> que
>> j'ai le message "Access Denied" ou je vois mon process démarrer sans voir
>> l'application.
>>
>> Pourquoi est-ce que le "process" de "notepad" démarre et que je ne vois
>> pas
>> l'application à l'écran.
>> Si il me manquerait de la sécurité ou de l'impersonalisation, j'imagine
>> que
>> le "process" ne fonctionnerait pas mais dans mon cas il démarre.
>>
>> Que dois-je faire pour le voir à l'écran ???
>>
>>
>> "Sébastien FERRAND [MVP C#]" a écrit :
>>
>>> Voici un exemple sur MSDN :
>>>
>>> http://msdn2.microsoft.com/en-us/library/aa302377.aspx
>>>
>>>
>>> Sébastien
>>>
>>> Martin a présenté l'énoncé suivant :
>>> > Est-ce que je pourrais avoir un exemple de "Impersonalisation".
>>> > C'est que je n'ai jamais utilisé ce genre de chose.
>>> >
>>> > "Sébastien FERRAND [MVP C#]" a écrit :
>>> >
>>> >> Martin a exprimé avec précision :
>>> >>> Voici mon code:
>>> >>>
>>> >>> Dim myProcess As New Process
>>> >>> myProcess.StartInfo.FileName = "C:Notepad.exe"
>>> >>> myProcess.StartInfo.WindowStyle =
>>> >>> ProcessWindowStyle.Maximized
>>> >>> myProcess.Start()
>>> >>>
>>> >>> Mais je ne vois pas le "notepad" ouvrir mais il est dans mes
>>> >>> processus.
>>> >>>
>>> >>> "Gilles TOURREAU" a écrit :
>>> >>>
>>> >>>> Le Thu, 01 Feb 2007 21:39:00 +0100, Martin
>>> >>>> a écrit:
>>> >>>>
>>> >>>>> Bonjour à tous,
>>> >>>>>
>>> >>>>> J'aimerais exécuter un fichier EXE à partir d'un bouton dans une
>>> >>>>> page ASP
>>> >>>>> .NET.
>>> >>>>> Le fichier EXE doit également avoir des arguments passé en
>>> >>>>> paramètre.
>>> >>>>> Voici ma ligne de commande:
>>> >>>>>
>>> >>>>> QMDGEOFORC$Program FilesESRILicenselmutil.exe lmstat -a -c
>>> >>>>> >
>>> >>>>> fichier.txt
>>> >>>>>
>>> >>>>> Les statistiques lors de l'exécution de cette ligne de commande
>>> >>>>> vont être
>>> >>>>> envoyé dans un fichier texte.
>>> >>>>>
>>> >>>>> Alors, comment peut-on exécuter une ligne de commande DOS dans une
>>> >>>>> page
>>> >>>>> ASP
>>> >>>>> .NET.
>>> >>>>>
>>> >>>>> Merci à l'avance !!!
>>> >>>>
>>> >>>> System.Diagnostics.Process.Start("MonExe.exe")
>>> >>>>
>>> >>>> Cordialement
>>> >>>>
>>> >>>> --
>>> >>>> Gilles TOURREAU
>>> >>>> Responsable Informatique
>>> >>>>
>>> >>>>
>>> >>>> S.A.R.L. P.O.S
>>> >>>> Le spécialiste en motoculture depuis + de 30 ans !
>>> >>>> http://www.pos.fr
>>> >>>>
>>> >>
>>> >> Attention... l'utilisateur qui lance l'exe n'est pas forcément celui
>>> >> qui est connecté à la machine !!!
>>> >>
>>> >> Il faut faire de l'impersonalisation.
>>> >>
>>> >> Sébastien
>>> >>
>>> >> --
>>> >> Sébastien FERRAND
>>> >> Microsoft Visual C# MVP
>>> >> blog : http://blogs.developpeur.org/sebmafate
>>> >>
>>> >>
>>> >>
>>>
>>> --
>>> Sébastien FERRAND
>>> Microsoft Visual C# MVP
>>> blog : http://blogs.developpeur.org/sebmafate
>>>
>>>
>>>
>
>





Avatar
Paul Bacelar
Je ne réponds qu'au pourquoi on ne voit pas NotePad.



IIS et les autres programmes implémentant le frameWork ASP.NET sont dans la
session de sécurité (WorkStation) des Services.

Par défaut, les programmes tournant dans cette "WorkStation" des Services ne
peuvent pas interagir avec la WorkStation du l'utilisateur interactif qui
elle seule contient les trois écrans d'affichage (le bureau, le screensaver
et l'écran de login).

C'est donc tout à fait normal de ne pas voir les fenêtres et les consoles
des programmes lancés depuis ASP.NET.

Un fichier de log permet d'avoir une trace de l'exécution du programme.
--
Paul Bacelar
MVP VC++


"Martin" wrote in message
news:
Voici la ligne de commande que je voudrais faire exécuter:

QMDGEOFORc$Program FilesESRILicenselmutil.exe lmstat -a -c >
resultat.txt

"Patrice" a écrit :

Je pense que tester avec notepad.exe est une mauvaise idée. Si tu veux
tester, utilise plutôt une application ligne de commande quelconque qui
modélisera mieux ton objectif final (j'imagine que l'appli que tu cites
dans
ton message initial n'a pas d'UI) du style net.exe ou quelque chose comme
cela...

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
> Déjà es tu sûr de vouloir l'afficher à l'écran ?
>
> Le process s'exécute sur un serveur qui peut très bien n'avoir aucune
> session ouverte. Peux tu expliquer un peu ce que tu essaies de faire ?
> Lancer un EXE à partir d'une application ASP.NET me parait plus ou
> moins
> normal mais vouloir que cette EXE soit visible sur le bureau me parait
> totalement inhabituel (si tu utilise localhost pour le dév n'oublie pas
> que tu es dans un cas tout à fait particulier où le serveur et le
> client
> sont la même machine, ce qui ne sera plus le cas dès que tu bougeras
> l'appli ailleurs).
>
> ----
>
> Patrice
>
> "Martin" a écrit dans le message de
> news:
>> J'ai bien beau changer identity impersonate ou authentication mode,
>> soit
>> que
>> j'ai le message "Access Denied" ou je vois mon process démarrer sans
>> voir
>> l'application.
>>
>> Pourquoi est-ce que le "process" de "notepad" démarre et que je ne
>> vois
>> pas
>> l'application à l'écran.
>> Si il me manquerait de la sécurité ou de l'impersonalisation,
>> j'imagine
>> que
>> le "process" ne fonctionnerait pas mais dans mon cas il démarre.
>>
>> Que dois-je faire pour le voir à l'écran ???
>>
>>
>> "Sébastien FERRAND [MVP C#]" a écrit :
>>
>>> Voici un exemple sur MSDN :
>>>
>>> http://msdn2.microsoft.com/en-us/library/aa302377.aspx
>>>
>>>
>>> Sébastien
>>>
>>> Martin a présenté l'énoncé suivant :
>>> > Est-ce que je pourrais avoir un exemple de "Impersonalisation".
>>> > C'est que je n'ai jamais utilisé ce genre de chose.
>>> >
>>> > "Sébastien FERRAND [MVP C#]" a écrit :
>>> >
>>> >> Martin a exprimé avec précision :
>>> >>> Voici mon code:
>>> >>>
>>> >>> Dim myProcess As New Process
>>> >>> myProcess.StartInfo.FileName = "C:Notepad.exe"
>>> >>> myProcess.StartInfo.WindowStyle >> >>> >>> ProcessWindowStyle.Maximized
>>> >>> myProcess.Start()
>>> >>>
>>> >>> Mais je ne vois pas le "notepad" ouvrir mais il est dans mes
>>> >>> processus.
>>> >>>
>>> >>> "Gilles TOURREAU" a écrit :
>>> >>>
>>> >>>> Le Thu, 01 Feb 2007 21:39:00 +0100, Martin
>>> >>>> a écrit:
>>> >>>>
>>> >>>>> Bonjour à tous,
>>> >>>>>
>>> >>>>> J'aimerais exécuter un fichier EXE à partir d'un bouton dans
>>> >>>>> une
>>> >>>>> page ASP
>>> >>>>> .NET.
>>> >>>>> Le fichier EXE doit également avoir des arguments passé en
>>> >>>>> paramètre.
>>> >>>>> Voici ma ligne de commande:
>>> >>>>>
>>> >>>>> QMDGEOFORC$Program FilesESRILicenselmutil.exe
>>> >>>>> lmstat -a -c
>>> >>>>> >
>>> >>>>> fichier.txt
>>> >>>>>
>>> >>>>> Les statistiques lors de l'exécution de cette ligne de commande
>>> >>>>> vont être
>>> >>>>> envoyé dans un fichier texte.
>>> >>>>>
>>> >>>>> Alors, comment peut-on exécuter une ligne de commande DOS dans
>>> >>>>> une
>>> >>>>> page
>>> >>>>> ASP
>>> >>>>> .NET.
>>> >>>>>
>>> >>>>> Merci à l'avance !!!
>>> >>>>
>>> >>>> System.Diagnostics.Process.Start("MonExe.exe")
>>> >>>>
>>> >>>> Cordialement
>>> >>>>
>>> >>>> --
>>> >>>> Gilles TOURREAU
>>> >>>> Responsable Informatique
>>> >>>>
>>> >>>>
>>> >>>> S.A.R.L. P.O.S
>>> >>>> Le spécialiste en motoculture depuis + de 30 ans !
>>> >>>> http://www.pos.fr
>>> >>>>
>>> >>
>>> >> Attention... l'utilisateur qui lance l'exe n'est pas forcément
>>> >> celui
>>> >> qui est connecté à la machine !!!
>>> >>
>>> >> Il faut faire de l'impersonalisation.
>>> >>
>>> >> Sébastien
>>> >>
>>> >> --
>>> >> Sébastien FERRAND
>>> >> Microsoft Visual C# MVP
>>> >> blog : http://blogs.developpeur.org/sebmafate
>>> >>
>>> >>
>>> >>
>>>
>>> --
>>> Sébastien FERRAND
>>> Microsoft Visual C# MVP
>>> blog : http://blogs.developpeur.org/sebmafate
>>>
>>>
>>>
>
>







1 2