Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1412 connectés 

  FORUM HardWare.fr
  Programmation
  ASP

  Afficher le résultat d'un vbs dans une page asp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Afficher le résultat d'un vbs dans une page asp

n°1013377
chepa_jeml​s
Posté le 15-03-2005 à 14:44:03  profilanswer
 

Voici mon code:
 

Code :
  1. <%@ LANGUAGE=VBScript %>
  2. <HTML>
  3. <head>
  4. </head>
  5. <body>
  6.  <script language=vbs>
  7.  Dim args, oWinNT, oDomain, objExec, objShell
  8.  Set objShell = WScript.CreateObject("WScript.Shell" )
  9.  Set args=Wscript.Arguments
  10.  domain="glab"
  11.  Wscript.echo "Liste des machines du domaine " & domain
  12.  set oWinNT=GetObject("WinNT://" & domain)
  13.  for each oDomain in oWinNT
  14.   if  lcase(oDomain.class)="computer" then
  15.    Set objExec = objShell.Exec("Ping -n 1 -l 1 " & oDomain.name)
  16.     Do While Not objExec.stdout.AtEndOfStream
  17.      if InStr(objExec.stdOut.ReadLine,"TTL=" )<>0 Then
  18.       Wscript.echo oDomain.name
  19.       Exit Do
  20.      end if
  21.     Loop
  22.   end if
  23.  next
  24. </script>
  25. </BODY>
  26. </HTML>


 
Le script VBS marche très bien, mais il faudrait que le contenu oDomain.name soit afficher à l'écran.
 
Le script est censé afficher les machines qui sont connectée sur le domaine
 

mood
Publicité
Posté le 15-03-2005 à 14:44:03  profilanswer
 

n°1013389
gedeon
Posté le 15-03-2005 à 14:50:46  profilanswer
 

Met ton script dans le header , sous forme d'une fonction qui retourne une chaine puis appelle le dans le body

n°1013417
chepa_jeml​s
Posté le 15-03-2005 à 15:10:09  profilanswer
 

tu peux me montrer stp? car je début en ASP et j'aimerai partir sur un exemple concret!  
 
Est ce que cela résoudrait mon problème sur le fait que cela en réalise pas d'affichage?

n°1013425
gedeon
Posté le 15-03-2005 à 15:16:17  profilanswer
 

Ton code c tout sauf de l'asp. y'a aucun code serveur dedans.
C le meme pb que pour du javascript.
 
La seule balise coté serveur c celle-ci :
 
    * <%@ LANGUAGE=VBScript %>
 
Et elle ne fait ..... rien. sauf indiquer au serveur que tu va lui envoyer du code VBS dans les pages , ce que tu ne fait pas

n°1013434
chepa_jeml​s
Posté le 15-03-2005 à 15:22:02  profilanswer
 

Ben aide moi si tu sais ^^, faut bien que je commence par quelque part ;-)
 
Tu sais me montrer un exemple au départ de ce que j'ai mis dnas le topic?
 
Ce serait sympa

n°1013440
gedeon
Posté le 15-03-2005 à 15:26:04  profilanswer
 

Tous ce qui est entre les balises <% et %> sera exécuté sur le serveur. Maintenant si tu ne sais meme pas ça c que tu n'a pas ouvert un seul fichier d'aide ou d'exemple.
Et je suis pas formateur donc je m'arrete là

n°1013444
chepa_jeml​s
Posté le 15-03-2005 à 15:28:15  profilanswer
 

gedeon a écrit :

Tous ce qui est entre les balises <% et %> sera exécuté sur le serveur. Maintenant si tu ne sais meme pas ça c que tu n'a pas ouvert un seul fichier d'aide ou d'exemple.
 
Et je suis pas formateur donc je m'arrete là


 
ca je le sais très bien alors, désolé de vouloir débuté!
 
Et vu qeu c'est assez chaud de trouver un site bien fait..
 
Je te dis pas merci

n°1013463
gedeon
Posté le 15-03-2005 à 15:39:25  profilanswer
 

C bien dommage car je suis le seul a t'avoir répondu.
Je te reproche pas de débuter je te reproche de ne pas chercher et d'aller à la solution de facilité. Actuelement tu ne comprend pas ce que tu fais et si quelqu'un le fait à ta place tu n'en saura pas plus. Donc tu vas là http://www.allhtml.com/ tu regardes langage ASP, introduction et premier pas et tu auras ta reponse. Et si tu continues a lire les autres chapitres et que tu les comprends là tu auras tout bon.

n°1013479
chepa_jeml​s
Posté le 15-03-2005 à 15:49:05  profilanswer
 

ben c'est ce que j'attendais: des références...

n°1013718
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-03-2005 à 18:05:07  profilanswer
 

Plusieurs choses :
 
1/ Un script ASP (côté serveur) s'éxécute dans une balise "<% %>" et non une balise SCRIPT.
Exemple :
 

Code :
  1. <p>
  2. <%
  3. Response.Write "toto"
  4. %>
  5. </p>


 
Tu peux aussi normalement, mais ça ne marche pas toujours, conserver ta balise Script, en lui ajoutant l'attribut "runat" avec pour valeur "server" :
 

Code :
  1. <p>
  2. <script language="VBScript" runat="Server">
  3. Response.Write "toto"
  4. </script>
  5. </p>


 
Mais ça ne marche pas toujours, donc je te déconseille vivement d'utiliser cette syntaxe !
 
2/ Le code ainsi éxécuté tourne sur le serveur, et non sur la machine cliente. Ainsi, tu verras les objets du réseau du serveur, et non celui du poste client.
 
3/ Enfin, il est impossible de faire appel à l'objet "WScript.Shell" dans un script côté client, à moins peut-être de mettre la sécurité au minimum.

mood
Publicité
Posté le 15-03-2005 à 18:05:07  profilanswer
 

n°1015122
chepa_jeml​s
Posté le 16-03-2005 à 20:27:21  profilanswer
 

Merci bcp, je test tout ça dés que je sais

n°1015152
chepa_jeml​s
Posté le 16-03-2005 à 20:38:46  profilanswer
 

quand tu parles du coté du serveur, y a pas moyen que je le fasse tourner sur une machine qui n'est pas serveur?
 
Juste pour les tests

n°1015202
Arjuna
Aircraft Ident.: F-MBSD
Posté le 16-03-2005 à 21:00:31  profilanswer
 

Ben faut qu'il y ait IIS dessus, tu peux pas éxécuter de l'ASP si t'as pas un serveur web.

n°1015556
chepa_jeml​s
Posté le 17-03-2005 à 06:41:30  profilanswer
 

ah ben c'est bien ce ue j'ai fait, mais je pensais qu'il y avait une autre subtilité

n°1015602
Arjuna
Aircraft Ident.: F-MBSD
Posté le 17-03-2005 à 09:47:11  profilanswer
 

Non non :)

n°1015747
chepa_jeml​s
Posté le 17-03-2005 à 11:29:48  profilanswer
 

Y  a t il d'autre truc que je dois être au courrant avant de vraimentcommencer a encoder?

n°1015979
Arjuna
Aircraft Ident.: F-MBSD
Posté le 17-03-2005 à 14:19:03  profilanswer
 

Ben commence, et reviens quand tu seras bloqué, parceque là comme ça, à part te dire qu'il faut un clavier pour écrire sur un ordinateur, et un navigateur web pour voir le résultat de l'éxécution d'un ASP, je vois pas trop ;)

n°1020031
chepa_jeml​s
Posté le 21-03-2005 à 18:53:11  profilanswer
 

Oki merci bcp, demain j'attaque ça! j'espere que cela ira et ne plus être enmerdé ;-)

n°1020054
chepa_jeml​s
Posté le 21-03-2005 à 19:04:58  profilanswer
 

Arjuna a écrit :

Plusieurs choses :
 
1/ Un script ASP (côté serveur) s'éxécute dans une balise "<% %>" et non une balise SCRIPT.
Exemple :
 

Code :
  1. <p>
  2. <%
  3. Response.Write "toto"
  4. %>
  5. </p>


 


 
J'ai une dernière question (oui je suis enmerdant;-))tu parle de script ASP , mais c'est aussi a cette endroit que je dosi mettre mes script VBS?
 
merci de votre aide les gars

n°1020101
Arjuna
Aircraft Ident.: F-MBSD
Posté le 21-03-2005 à 19:34:38  profilanswer
 

Ca dépend. ASP, c'est une technologie. VBS, c'est un langage.
 
Un script "client" (qui tourne sur la machine de l'utilisateur) se met entre simples balises <script>. Ce genre de script sert généralement à faire des modifications dans la mise en page (roll-over, etc.). Il peut être en JavaScript ou en VBScript (dans le second cas, il ne marchera grossomodo que si l'utilisateur utilise Internet Explorer, c'est donc à éviter).
Un script "serveur", lui, qui est de l'ASP, sera écrit pour faire des accès aux bases de données, faire des traîtements sur le serveur, etc. Lui, il tourne dans les fameuses balises <% %>. Il peut, comme les autres scripts, être soit en JavaScript, soir en VBScript (il vaut mieu par contre utiliser VBScript pour l'ASP).
 
Exemple simple :
 

Code :
  1. <% @Language="VBScript" %> <!-- Balise obligatoire, pour définir le langage utilise pour l'ASP -->
  2. <% Option Explicit %>      <!-- Ca, c'est parceque je suis un gars propre, qui déclare ses variables -->
  3. <html>
  4.   <head>
  5.     <title>Da Arjuna's test</title>
  6.     <script language="JavaScript" type="text/javascript">
  7.       function doClick(val)
  8.       {
  9.         alert("Vous avez clické sur le bouton " + val.ToString());
  10.       }
  11.     </script>
  12.   </head>
  13.   <body>
  14. <%
  15. Dim i
  16. For i = 1 to 5
  17.   Response.Write "<p><a href=""#"" onclick=""doClick(" & i & " )"">" & i & "</a></p>" & vbCrLf
  18. Next
  19. %>
  20.   </body>
  21. </html>


 
Copie ce que fait cet exemple.
Execute le.
Joue avec.
Regarde le source depuis IE (complètement différent)
Et essaie de comprendre comment ça marche.
T'as toutes les bases là ;)

n°1020110
chepa_jeml​s
Posté le 21-03-2005 à 19:41:50  profilanswer
 

des posts comme ça, j'adore ;-)
 
Merci bcp
 
chuuuuuuuuuut....ne me dérangez pas, je fais de l'asp ;-)

n°1021054
chepa_jeml​s
Posté le 22-03-2005 à 15:30:36  profilanswer
 

Bon cela tourne, maitenant je voudrais améliorer ma page mais j'ai un problème:
 
J'aimerai pouvoir entrer un texte dans une zone de saisie et la mettre dans une variable (cela sera pour initialiser la variable domain)!!  
 
je ne trouve nul part cela

n°1021126
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-03-2005 à 16:01:41  profilanswer
 

Dans ta page :

Code :
  1. <form method="POST" action="toto.asp">
  2.   <input type="text" name="prout" value="Tu tapes ton texte ici">
  3.   <input type="submit" name="btnSubmit" value="Et après tu cliques là">
  4. </form>


 
Dans toto.asp

Code :
  1. Dim maVar
  2. maVar = Request.Form("prout" )
  3. Response.Write "T'as tapé """ & maVar & """."



Message édité par Arjuna le 22-03-2005 à 16:02:38
n°1021312
chepa_jeml​s
Posté le 22-03-2005 à 17:44:15  profilanswer
 

on peut pas travaille rsur le même fichier?


Message édité par chepa_jemls le 22-03-2005 à 18:05:59
n°1021397
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-03-2005 à 19:12:25  profilanswer
 

si, mais ça recharge la page, donc il faut bien garder en mémoire que ton code sera rééxécuté.

n°1021408
chepa_jeml​s
Posté le 22-03-2005 à 19:22:01  profilanswer
 

j'ai pas très bien compris la façon de faire pour lire dans une zone de saisie.
 
Voila mon code, tu saurais m'aider?
 

Code :
  1. <% @Language="VBScript" %> <!-- Balise obligatoire, pour définir le langage utilise pour l'ASP --> 
  2. <html>
  3.   <head>
  4.     <title>Da Arjuna's test</title>
  5. <script language="vbs"></script>
  6. <!--
  7.  sub cmdChanger_OnClick
  8.  MsgBox "essai"
  9.  End Sub
  10.     -->
  11.     </script>
  12.    
  13.   </head>
  14.   <body>
  15. <%
  16. Dim args, oWinNT, oDomain, objExec, objShell
  17. Set objShell = Server.CreateObject("WScript.Shell" )
  18. domain="Internet"
  19. set oWinNT=GetObject("WinNT://" & domain)
  20. for each oDomain in oWinNT
  21. if  lcase(oDomain.class)="computer" then
  22.  Set objExec = objShell.Exec("Ping -n 1 -l 1 " & oDomain.name)
  23.   Do While Not objExec.stdout.AtEndOfStream
  24.    if InStr(objExec.stdOut.ReadLine,"TTL=" )<>0 Then
  25.     Response.Write oDomain.name%><br><%
  26.     Exit Do
  27.    end if
  28.   Loop
  29. end if
  30. next
  31. %>
  32.   </body>
  33. </html>

n°1021411
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-03-2005 à 19:26:50  profilanswer
 

Code :
  1. <%
  2. Dim args, oWinNT, oDomain, objExec, objShell
  3. Set objShell = Server.CreateObject("WScript.Shell" )
  4. domain="Internet" 
  5. set oWinNT=GetObject("WinNT://" & domain)
  6. for each oDomain in oWinNT
  7.     if  lcase(oDomain.class)="computer" then 
  8.         Set objExec = objShell.Exec("Ping -n 1 -l 1 " & oDomain.name)
  9.             Do While Not objExec.stdout.AtEndOfStream
  10.                 if InStr(objExec.stdOut.ReadLine,"TTL=" )<>0 Then
  11.                     Response.Write oDomain.name%><br><%
  12.                     Exit Do
  13.                 end if
  14.             Loop
  15.     end if
  16. next
  17. %>


 
devient :
 

Code :
  1. <%
  2. Dim args, oWinNT, oDomain, objExec, objShell
  3. Set objShell = Server.CreateObject("WScript.Shell" )
  4. 'domain="Internet"
  5. %>
  6. <form method="post">
  7.   Domaine : <input type="text" name="domain" value="<%=Request.Form("domain" )%>">
  8. <input type="submit" value="Search">
  9. </form>
  10. <%
  11. if Request.Form("domain" ) <> "" then
  12.   set oWinNT=GetObject("WinNT://" & Request.Form("domain" ))
  13.   for each oDomain in oWinNT
  14.       if  lcase(oDomain.class)="computer" then 
  15.           Set objExec = objShell.Exec("Ping -n 1 -l 1 " & oDomain.name)
  16.               Do While Not objExec.stdout.AtEndOfStream
  17.                   if InStr(objExec.stdOut.ReadLine,"TTL=" )<>0 Then
  18.                       Response.Write oDomain.name%><br><%
  19.                       Exit Do
  20.                   end if
  21.               Loop
  22.       end if
  23.   next
  24. else
  25.   Response.Write "<p>Entrez un nom de domaine s'il vous plaît</p>"
  26. end if
  27. %>


 
Et noublie pas le "Option Explicit" au début de la page :o


Message édité par Arjuna le 22-03-2005 à 19:27:30
n°1021554
chepa_jeml​s
Posté le 22-03-2005 à 22:04:48  profilanswer
 

Voila la modification mais le problème est qu'il affiche tout d'un cous!il ne me laisse pas le temps d'entrer mon nom de domaine!!
 
Il met met directement Entrez un nom de domaine s'il vous plaît
Voilà mon code
 

Code :
  1. <% @Language="VBScript" %> <!-- Balise obligatoire, pour définir le langage utilise pour l'ASP --> 
  2. <html>
  3.   <head>
  4.     <title>Da Arjuna's test</title>
  5. <script language="vbs"></script>
  6. <!--
  7.  sub cmdChanger_OnClick
  8.  MsgBox "essai"
  9.  End Sub
  10.     -->
  11.     </script>
  12.    
  13.   </head>
  14.   <body>
  15. <%
  16. Dim args, oWinNT, oDomain, objExec, objShell
  17. Set objShell = Server.CreateObject("WScript.Shell" )
  18. 'domain="Domjemelle"
  19. %>
  20. <form method="post" ID="Form1">
  21.   Domaine : <input type="text" name="domain" value="<%=Request.Form("domain" )%>" ID="Text1">
  22. <input type="submit" value="Search" ID="Submit1" NAME="Submit1">
  23. </form>
  24. <%
  25. if Request.Form("domain" ) <> "" then
  26. set oWinNT=GetObject("WinNT://" & domain)
  27. for each oDomain in oWinNT
  28. if  lcase(oDomain.class)="computer" then
  29.  Set objExec = objShell.Exec("Ping -n 1 -l 1 " & oDomain.name)
  30.   Do While Not objExec.stdout.AtEndOfStream
  31.    if InStr(objExec.stdOut.ReadLine,"TTL=" )<>0 Then
  32.     Response.Write oDomain.name%><br><%
  33.     Exit Do
  34.    end if
  35.   Loop
  36. end if
  37. next
  38. else
  39.   Response.Write "<p>Entrez un nom de domaine s'il vous plaît</p>"
  40. end if
  41. %>
  42.   </body>
  43. </html>

n°1021585
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-03-2005 à 22:44:33  profilanswer
 

chepa_jemls a écrit :

Voila la modification mais le problème est qu'il affiche tout d'un cous!il ne me laisse pas le temps d'entrer mon nom de domaine!!
 
Il met met directement Entrez un nom de domaine s'il vous plaît
Voilà mon code
 

Code :
  1. <% @Language="VBScript" %> <!-- Balise obligatoire, pour définir le langage utilise pour l'ASP --> 
  2. <html>
  3.   <head>
  4.     <title>Da Arjuna's test</title>
  5. <script language="vbs"></script>
  6. <!--
  7.  sub cmdChanger_OnClick
  8.  MsgBox "essai"
  9.  End Sub
  10.     -->
  11.     </script>
  12.    
  13.   </head>
  14.   <body>
  15. <%
  16. Dim args, oWinNT, oDomain, objExec, objShell
  17. Set objShell = Server.CreateObject("WScript.Shell" )
  18. 'domain="Domjemelle"
  19. %>
  20. <form method="post" ID="Form1">
  21.   Domaine : <input type="text" name="domain" value="<%=Request.Form("domain" )%>" ID="Text1">
  22. <input type="submit" value="Search" ID="Submit1" NAME="Submit1">
  23. </form>
  24. <%
  25. if Request.Form("domain" ) <> "" then
  26. set oWinNT=GetObject("WinNT://" & domain)
  27. for each oDomain in oWinNT
  28. if  lcase(oDomain.class)="computer" then
  29.  Set objExec = objShell.Exec("Ping -n 1 -l 1 " & oDomain.name)
  30.   Do While Not objExec.stdout.AtEndOfStream
  31.    if InStr(objExec.stdOut.ReadLine,"TTL=" )<>0 Then
  32.     Response.Write oDomain.name%><br><%
  33.     Exit Do
  34.    end if
  35.   Loop
  36. end if
  37. next
  38. else
  39.   Response.Write "<p>Entrez un nom de domaine s'il vous plaît</p>"
  40. end if
  41. %>
  42.   </body>
  43. </html>



Ben c'est normal qu'il te dire "entrez un nom de domaine s'il vous plaît". Tu tapes le noms, et zou, tu fais la recherche en cliquant sur le bouton. Le message sera alors remplacé par le résultat de ton script ;)

n°1021679
chepa_jeml​s
Posté le 23-03-2005 à 07:49:13  profilanswer
 

quand je clique après avoir rnetré le nom de domaine, il met met une page d'erreur(comme si il toruvait pas la page)
 
EDIT: Pour information, il s'agit d'une erreur 405
 
REEDRIT: EN surfant ej me suis rendu compte qu'il fallait faire un truc du genre dans le form:action="essai.asp?valeur=valeur1".  Je sais pas commentintrodfuire cela, mais cela à l'air de passer, le problème ets que je l'attribue pas à la bonne variable (domaine)  Tu sais me dire?


Message édité par chepa_jemls le 23-03-2005 à 10:59:26
n°1022073
chepa_jeml​s
Posté le 23-03-2005 à 13:12:03  profilanswer
 

Voilà c'est résolu, en surfant un peu sur internet!
 
J'attends de tester cela  sur le domaine ici

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASP

  Afficher le résultat d'un vbs dans une page asp

 

Sujets relatifs
Optimisation sur une page de rendu graphiqueaide pour un NOT IN sur un resultat d'une requete
page de man[HTML/JS] Ouvrir une fenêtre en pleine page (pas "plein écran" :o )
Impression page webImprimer le resultat d'une requete SQL contenu dans un rowsource
Comment lire une page aspx en localProbleme avec IE et lien vers page lente à afficher
lien vers une page en chemin absolu 
Plus de sujets relatifs à : Afficher le résultat d'un vbs dans une page asp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR