Les Allergies
Alimentaires
Posez votre question Signaler

Resultat d'un ping vers un fichier log [Résolu]

albc17180 11Messages postés 10 août 2005Date d'inscription 19 septembre 2011Dernière intervention - Dernière réponse le 21 déc. 2011 à 17:28
Bonjour a tous.
En fait, je suis en stage dans une entreprise, et il y a une liaison radio.
2 bâtiments a 100 mètres l'un de l'autre sont reliés par des antennes.
Cependant, la connexion arrête pas de couper, on ne sait pourquoi.
J'aimerais créer un batch qui lance un ping d'une des antennes, et le résultats s'afficherait dans un fichier .log avec la date et l'heure de chaque ping.
Ça me permettrait de voir la fréquence des coupures.
Merci d'avance pour votre aide.
Lire la suite 

Resultat d'un ping vers un fichier log »

11 réponses
Réponse
+3
moins plus
Ayaaaaaiiiis !

Tu enregistres ces lignes dans un fichier avec l'extension .vbs (mon exemple c'est c:\save\test-ping.vbs):
strMachines = "99.99.15.1;99.99.99.99"
aMachines = split(strMachines, ";")
Set objFichier=CreateObject("Scripting.FileSystemObject")
Set MyFile= objFichier.OpenTextFile("c:\save\resu-ping.txt", 8,true)
do while true
    For Each machine in aMachines
        Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
            ExecQuery("select * from Win32_PingStatus where address = '"_
                & machine & "'")
        For Each objStatus in objPing
            If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
                Myfile.WriteLine date & "-" & time & " Machine " & machine & " non joignable"
            End If
        Next
    Next
    wscript.sleep(10000)
loop
MyFile.Close
La première ligne, ce sont les @IP des machines que tu veux pingger, séparées par des ;
La quatrième ligne, c'est le nom du fichier dans lequel on va écrire (en ajout à la fin, à chaque fois)
La ligne wscript.sleep(10000), c'est pour attendre 10 secondes avant de retenter les ping.

Ca n'écrit dans le fichier que lorsqu'une machine est injoignable, mais on peut écrire tout le temps, faut juste modifier :-)

Ensuite, tu crées un fichier .bat avec une seule ligne :
cscript //nologo c:\save\test-ping.vbs
Tu lances ce fichier .bat en double-cliquant dessus, ça ouvre une fenêtre DOS, et ça tourne jusqu'à ce que tu breakes avec un CTRL-C...

C'est tout.

Faudra juste pas oublier d'aller voir les résultats dans le fichier ;-)
Ajouter un commentaire
Réponse
+1
moins plus
ok super
Merci beaucoup blux pour ton aide et le temps consacré.

bonne journée
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

tu crées un bat avec une ligne pour changer le prompt, et mettre la date et heure genre 'PROMPT $D a $T $_', tu passes ta commande de ping et tu rediriges tout ça vers un fichier.

ex :

PROMPT $D a $T $_ (ça affiche la date et l'heure)
for /L %A in (1,1,1000) do ping xxxxxx >>toto.log (ça fait le ping 1000 fois et ça met le résultat dans le fichier toto.log, sans écraser ce qui existe déjà)
Ajouter un commentaire
Réponse
+0
moins plus
salut,
dans ton bat tu met ping avec les options voulus puis tu envoie le resultat
soit ping/option > fichier.log
soint fichier.bat (contenant tes commandes):
fichier.bat > fichier.log
enfin je me suis fais devancé :-)) et l'autre réponse est meilleure
Ajouter un commentaire
Réponse
+0
moins plus
merci pour vos reponses
on peut a la place de 1000 ping faire un ping -t xxx.xxx.xxx.xxx ???

par contre ça me cree bien mon fichier.log mais ça ne m'affiche pas l'heure dedans.
Ca me laisse la fenetre DOS ouverte

http://www.hiboox.com/lang-fr/image.php?img=r3nbv7i5.jpg
Ajouter un commentaire
Réponse
+0
moins plus
L'option -t sert à dire combien de temps tu attends avant de considérer que le distant ne répond pas, en aucun cas, c'est un paramètre d'attente entre deux commandes.

Je vais voir pour l'affichage des dates...

Mais tu sais qu'il existe des outils freewares qui font un scan périodique d'ip et qui mettent les résultats dans des fichiers ?

http://www.snapfiles.com/get/mhostalive.html
http://www.snapfiles.com/get/pinglog.html
Ajouter un commentaire
Réponse
+0
moins plus
ok je vais voir ça merci
il y en a un que je connaissais, mais bon il me manque toujours l'heure dans le log.
Je n'ai pas d'autres moyens pour repérer une coupure...

j'avais vu que l'option -t c'est pour effectuer le ping sans interruption.
Comme ça je peux le laisser tourner une nuit et je l'arrete quand je reviens.
Sinon tu as mis 1000, mais je ne sais pas combien il en faudrait pour 12 ou 13h...
Ajouter un commentaire
Réponse
+0
moins plus
On peut sans doute aller plus vite avec du vbscript :

http://www.cruto.com/...
Ajouter un commentaire
Réponse
+0
moins plus
euh la je suis pomé après... ^^
c'est quoi comme extension ça???
en tout cas merci pour tes réponses blux, je vais me débrouiller avec tout ça.
bonne journée
blux- 15 févr. 2008 à 09:56
Je suis en train de te faire ça, si tu peux attendre 1/2h ou 1h...
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour à tous,
j'ai besoin d'utiliser ce script, mais il ne fonctionne pas sous WindowsNT, je souhaite renseigner un fichier log dans le cas ou le PC ne dialogue plus avec le serveur, le vbs si dessus fonctionne très bien sous XP et w7 mais pas sous windowsNT, si il y a une autre solution merci de me conseiller.
Ajouter un commentaire
Ce document intitulé « Resultat d'un ping vers un fichier log » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?