Exécution d'un vbs à partir d'une page asp

pxav22 Messages postés 7 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2011 - 3 janv. 2010 à 15:14
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 3 janv. 2010 à 22:04
Bonjour,
cela fait trois jours que je tente de lancer un .vbs à partir d'une page en asp vbscript tournant sur IIS.
Après avoir galéré pas mal sur des problèmes de droits, j'arrive maintenant à ce que le script se lance... enfin presque !
C'est à dire que je le vois dans le gestionnaire de tâche "wscript.exe" et puis c'est tout. L'action que je lui demande ne se fait pas (une écriture dans un fichier qui se fait très bien quand je double clique dessus) et l'entrée dans le gestionnaire des tâches reste, autrement dit mon script ne se ferme jamais.
Si quelqu'un peut m'aider à trouver mon erreur..
Merci.
Bonne journée,
Xavier.

9 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
3 janv. 2010 à 15:33
L'utilisateur IUSR_nomdetamachine a-t-il les droits sur le fichier que tu veux écrire ?
---
VB.NET is good ... VB6 is better
0
pxav22 Messages postés 7 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2011
3 janv. 2010 à 15:39
merci pour votre réponse.
je viens de vérifier, le IUSR et le IWAM ont les droits sur le répertoire C: sur lequel je test mon écriture.
J'avais essayé aussi de faire un msgbox "coucou" mais ça n'avait pas mieux marché.
Pour info dans le gestionnaire des taches, wscript.exe est lancé sour IWAM_nommachine.
Je n'arrive pas à comprendre ce qui bloque.

je vous donne le code asp qui lance le script, dès fois que !

dim oShell
Set oShell = CreateObject("WScript.Shell")
oShell.run "C:\Inetpub\wwwroot\asppack\groupware\chgmdp.vbs",0
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
3 janv. 2010 à 16:47
Essaie ceci, cela pourrait peut-être fonctionner :
Dim oShell : Set oShell = CreateObject("WScript.Shell")
oShell.run "C:\Inetpub\wwwroot\asppack\groupware\chgmdp.vbs",0,True
---
VB.NET is good ... VB6 is better
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
3 janv. 2010 à 16:48
Faire un MsgBox ne sert absolument à rien, IUSR n'étant pas loggé interactivement sur le serveur.
---
VB.NET is good ... VB6 is better
0

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

Posez votre question
pxav22 Messages postés 7 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2011
3 janv. 2010 à 18:44
Oui, c'est ceu j'ai lu plus tard. C'est pourquoi je me suis rabattu sur une écriture fichier.
Je teste votre code tout de suite et vous tiens informé.
Merci.
0
pxav22 Messages postés 7 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2011
3 janv. 2010 à 18:54
Je viens de tester, j'ai une erreur de délai d'exécution dépassé.
Je suppose que le "true" est pour faire attendre la fin du script. Mais il ne se termine toujours pas.
Je mets le code du script, dès fois que !
Merci encore.

lancerActions()

Public Function lancerActions()

   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("C:\Inetpub\wwwroot\asppack\groupware\essai.txt", 2,true)
   f.write("Salut")

End Function
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
3 janv. 2010 à 20:02
Tu n'as que ça dans ton VBS ? Pense aussi à détruire tes objets en sortant de la fonction (mais ça ne résoudrera pas ton problème).
---
VB.NET is good ... VB6 is better
0
pxav22 Messages postés 7 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2011
3 janv. 2010 à 20:25
bah oui, pour tester, je n'ai mis que ça.
J'ai plus lourd à mettre après mais déjà si ça ça marche pas !!!
Quand vous dites détruire, c'est = Nothing ?
Je le fais tout de suite. Effectivement ça ne résoudra pas le pb mais ça sera plus propre ;-)
Merci.
Sinon, y'aurait-il un moyen de lancer autre chose qu'un vbs depuis asp ? un batch par exemple ? ça me permettrait de m'en sortir quand même.
Merci de votre aide.
Xavier.
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
3 janv. 2010 à 22:04
Oui. Il te suffit de remplacer la 2ème ligne par ceci :
oShell.run "C:\Inetpub\wwwroot\asppack\groupware\tonbatch.bat",0,True
---
VB.NET is good ... VB6 is better
0
Rejoignez-nous