Resultat d'un ping vers un fichier log

Résolu/Fermé
albc17180 Messages postés 14 Date d'inscription mercredi 10 août 2005 Statut Membre Dernière intervention 23 janvier 2013 - 14 févr. 2008 à 14:42
 Bupi - 22 déc. 2017 à 15:35
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.

10 réponses

blux Messages postés 25966 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 avril 2024 3 284
15 févr. 2008 à 10:11
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 ;-)
7
Merci bcp pour ce code.
0
blux Messages postés 25966 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 avril 2024 3 284
14 févr. 2008 à 15:03
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à)
2
albc17180 Messages postés 14 Date d'inscription mercredi 10 août 2005 Statut Membre Dernière intervention 23 janvier 2013 1
15 févr. 2008 à 10:38
ok super
Merci beaucoup blux pour ton aide et le temps consacré.

bonne journée
1
Matio Messages postés 671 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 25 janvier 2011 299
14 févr. 2008 à 15:10
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
0

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

Posez votre question
albc17180 Messages postés 14 Date d'inscription mercredi 10 août 2005 Statut Membre Dernière intervention 23 janvier 2013 1
14 févr. 2008 à 15:19
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

https://www.hiboox.com
0
blux Messages postés 25966 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 avril 2024 3 284
14 févr. 2008 à 16:30
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 ?

https://www.snapfiles.com/get/mhostalive.html
https://www.snapfiles.com/get/pinglog.html
0
albc17180 Messages postés 14 Date d'inscription mercredi 10 août 2005 Statut Membre Dernière intervention 23 janvier 2013 1
14 févr. 2008 à 16:44
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...
0
blux Messages postés 25966 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 avril 2024 3 284
15 févr. 2008 à 09:26
On peut sans doute aller plus vite avec du vbscript :

http://www.cruto.com/...
0
albc17180 Messages postés 14 Date d'inscription mercredi 10 août 2005 Statut Membre Dernière intervention 23 janvier 2013 1
15 févr. 2008 à 09:38
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
0
blux Messages postés 25966 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 avril 2024 3 284
15 févr. 2008 à 09:56
Je suis en train de te faire ça, si tu peux attendre 1/2h ou 1h...
0
mimio37 Messages postés 1 Date d'inscription mercredi 21 décembre 2011 Statut Membre Dernière intervention 21 décembre 2011
21 déc. 2011 à 17:28
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.
0