Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PING D'UNE LISTE DE POSTE : WHOSBAD


Information sur la source

Description

un programme de moins de 50 lignes qui permet de tester l'activité IP d'une liste de poste pour voir si l'un d'entre eux n'est pas KO. La liste est saisie dans un fichier à part (dans mon cas 'posteAtester.lst').
je passe par un fichier qui se crée sur le répertoire, il faut penser à autoriser l'écriture.
 

Source

  • <%
  • Set MyShell = CreateObject("WScript.Shell")
  • Set MyFiles = CreateObject("Scripting.FileSystemObject")
  • szPathFile= "resip.txt"
  • szListIPFile = "PosteAtester.lst"
  • 'récup des adresses ip à tester
  • Set FileListDesIP = MyFiles.OpenTextFile(server.mappath(szListIPFile), 1) ' for reading
  • do
  • On Error Resume Next
  • ' lecture du nouveau rep à créer
  • szIPATester = FileListDesIP.ReadLine
  • If Err.number = 62 Then ' si fin du fichier
  • Exit do
  • End If
  • On Error GoTo 0
  • f_doPing(szIPATester)
  • loop
  • function f_doPing(szAdressIP)
  • szExec="%comspec% /c ping.exe -n 1 -a" & " " & szAdressIP & " " & ">" & server.mappath(szPathFile)
  • Return = MyShell.Run(szExec, 0, True)
  • Set TempFile =MyFiles.OpenTextFile(server.mappath(szPathFile))
  • szResult = Tempfile.Readall
  • ' récupération du nom du serveur si il est disponible
  • if instr(szResult, "[" & szAdressIP & "]") > 0 then
  • posDeb =instr(szResult, "'ping' sur ") +11
  • posfin =instr(szResult, "[" & szAdressIP & "]")
  • sznomServeur = mid(szResult, posdeb, posfin-posdeb)
  • ' response.write("szResult='" & szResult & "'")
  • 'sznomServeur = ""
  • else
  • sznomServeur = "IP"
  • end if
  • If instr(szResult, "ponse ") > 0 Then
  • ' If instr(szResult, "(perte 0%)") > 0 Then
  • response.write(sznomServeur& " : " & szAdressIP & " --> OK" & vbcrlf)
  • Else
  • response.write("<B>" & sznomServeur & " : " & szAdressIP & " --> KO</B>" & vbcrlf)
  • End if
  • response.write("<br>")
  • tempfile.close
  • 'tempfile.delete
  • end function
  • %>
<%
    Set MyShell = CreateObject("WScript.Shell")
    Set MyFiles = CreateObject("Scripting.FileSystemObject")

szPathFile= "resip.txt"
szListIPFile = "PosteAtester.lst"
'récup des adresses ip à tester
Set FileListDesIP = MyFiles.OpenTextFile(server.mappath(szListIPFile), 1) ' for reading
do
    On Error Resume Next
    ' lecture du nouveau rep à créer
    szIPATester = FileListDesIP.ReadLine
    If Err.number = 62 Then ' si fin du fichier
        Exit do
    End If

    On Error GoTo 0
    f_doPing(szIPATester)
loop

function f_doPing(szAdressIP)
    szExec="%comspec% /c ping.exe -n 1 -a" & " " & szAdressIP & " " & ">" & server.mappath(szPathFile)
    Return = MyShell.Run(szExec, 0, True) 
    Set TempFile =MyFiles.OpenTextFile(server.mappath(szPathFile))
    szResult = Tempfile.Readall
    
    ' récupération du nom du serveur si il est disponible
    if instr(szResult, "[" & szAdressIP & "]") > 0 then
        posDeb =instr(szResult, "'ping' sur ") +11
        posfin =instr(szResult, "[" & szAdressIP & "]")
        sznomServeur = mid(szResult, posdeb, posfin-posdeb)
        '   response.write("szResult='" & szResult & "'")
        'sznomServeur = ""
    else
        sznomServeur = "IP"
    end if
    
    If instr(szResult, "ponse ") > 0 Then
'    If instr(szResult, "(perte 0%)") > 0 Then
        response.write(sznomServeur& " : " & szAdressIP & " --> OK" & vbcrlf)
    Else
        response.write("<B>" & sznomServeur & " : " & szAdressIP & " --> KO</B>" & vbcrlf)
    End if
    response.write("<br>")
    tempfile.close
    'tempfile.delete
end function
%>

Commentaires et avis

signaler à un administrateur
Commentaire de ermo le 27/11/2006 12:30:11

Ce code m'interesse mais lors de l'execution j'ai le message :
Erreur d'exécution Microsoft VBScript error '800a0046'

Permission refusée

/Lect_BDD.asp, line 23

Pouvez-vous me dire comment faire ?

signaler à un administrateur
Commentaire de defrance le 27/11/2006 12:58:13

comme indiqué dans la description, il faut avoir les droits en écriture sur le répertoire où sera enregistré le fichier généré sinon c'est permission refusée.

signaler à un administrateur
Commentaire de ermo le 27/11/2006 13:38:10

OK, mais c'est cette ligne qui génère l'erreur.

    Return = MyShell.Run(szExec, 0, True)

signaler à un administrateur
Commentaire de defrance le 27/11/2006 15:14:02

et c'est justement cette ligne qui crée le fichier avec la commande juste au dessus :
ping.exe -n 1 -a AdressIP > fichier
AdressIP : l'adresse ou le poste à pinger
fichier : le fichier qui est crée avec le résultat du ping

signaler à un administrateur
Commentaire de ermo le 27/11/2006 15:43:41

Excuse-moi de t'embèter mais ça par ex, ça marche.

<% Don_A_Ecrire = "BLABLA" %>
<% Set FSO = Server.CreateObject("Scripting.FileSystemObject") %>
<% Fich_TEST= Server.MapPath("Fich_TEST.txt") %>
<% set inF = FSO.OpenTextFile(Fich_TEST,2,true) %>
<% inF.writeLine Don_A_Ecrire %>
<% inF.close %>

signaler à un administrateur
Commentaire de defrance le 27/11/2006 17:09:04

Après m'etre repencher sur le code, je précise qu'il faut AUSSI ajouter dans le paramétrage de IIS du répertoire l'autorisation d'executer des executables (comme ping) en plus des scripts...

signaler à un administrateur
Commentaire de angenoir999 le 24/01/2007 14:22:51

Bonjour

moi c'est pareil, sur la même ligne de code.

Pourtant et j'ai bien vérifier, tous les droits sont bons et la config IIS aussi (j'ai mis ce que tu as dit).

Je ne comprend pas.

Angenoir999

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.