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

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,203 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é.