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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  ping auto d'une liste de PC (débutant)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ping auto d'une liste de PC (débutant)

n°844941
yoggy_nour​s
Posté le 08-09-2004 à 12:45:20  profilanswer
 

Bonjour,
 
j'ai une liste de pc dans un fichier, comme ceci:
 
nom_machine ip_machine
nom_machine1 ip_machine1
...
 
je veux le lire, pinger la machine, et en fonction du résultat du ping, si on a 100% de perte, faire quelque chose (ecrire un fichier de logs, l'envoyer par mail, lancer le café pour quant j'arriverais dans la salle machines, formatter le disque dur ...  ;))
 
donc déjà, ce que j'ai fait :
 
-------------------------
@echo off
rem -je lit le fichier
for /F "tokens=1,2" %%a in (liste_serveurs.txt) do call :PING %%a %%b
goto :EOF
 
:PING
 @echo Pinging : %1%
 ping -w 10 %2 > tmp  
 rem - pas tres propre comme test
 findstr /C:"perte 100" tmp
 
 goto :EOF
-------------------------
 
le teste du findstr, ça marche, mais c'est sale. Si vous avez des idées là dessus ça m'arrangerais, histoire d'etre plus rigoureux. ou mieux, si je pouvais me passer de passer par un fichier tmp...
 
le vrai problème maintenant est : comment tester le resultat ?  
je voulais mettre ce que me renvoi findstr dans une variable et la tester. si elle est vide alors OK, sinon, KO...
 
any ideas ?
 
 

mood
Publicité
Posté le 08-09-2004 à 12:45:20  profilanswer
 

n°844958
DOD_edge
Posté le 08-09-2004 à 13:02:59  profilanswer
 

euh tu fais koi la ?
c carément pas terrible ton truc pourquoi tu prends pas tout simplement ton ip, tu la scan, et tu stock si elle a répondu ou pas dans un fichier ...
?? sinon je vois pas ce ke tu veux faire réexplique plz ??

n°844966
yoggy_nour​s
Posté le 08-09-2004 à 13:12:54  profilanswer
 

je dois verifier qu'une liste de machines dont je connais les ip répondent bien, et dans le cas ou elles répondent pas, faire quelque chose, comme l'ecrire dans un fichier de log
 
 
en gros, mon probleme, c'est le "la machine a répondu ou pas"...
je n'arrive pas a isoler proprement les deux cas, a faire mon test.

n°844970
DOD_edge
Posté le 08-09-2004 à 13:23:01  profilanswer
 

je peux te proposer un batch perso ki ping une plage d'ip et affiche le résultat connecté et pas connecté dans un txt

n°844978
yoggy_nour​s
Posté le 08-09-2004 à 13:34:33  profilanswer
 

et bien je prends ! :)

n°844986
DOD_edge
Posté le 08-09-2004 à 13:38:04  profilanswer
 

bon en fait il se compose de plusieurs batch qui intéragissent  entre eux le premier c scanip.bat:
@echo off
 cls
 
set ip=
set /p ip=quel plage d'ip voulez-vous scanner (3 premiers champs- x.x.x) ?
if not '%ip%'=='' set choice=%ip:~0%
 
 :top
echo 1. scan 1-10
echo 2. scan 1-50
echo 3. scan 1-100
echo 4. scan 1-254
 set choice=
 set /p choice=quel est votre choix ?
 if not '%choice%'=='' set choice=%choice:~0,1%
  if '%choice%'=='1'  goto suite1
  if '%choice%'=='2'  goto suite2
  if '%choice%'=='3'  goto suite3
  if '%choice%'=='4'  goto suite4
  echo Le choix %choice% n'est pas valide.
 echo.
 goto top
 
:suite1
set taille=10
goto end
:suite2
set taille=50
goto end
:suite3
set taille=100
goto end
:suite4
set taille=254
goto end
 
:end
echo resultats:>c:\scanip\scanresults.txt
echo resultats:>c:\scanip\goodresults.txt
echo resultats:>c:\scanip\partages.txt
 
echo hostname:>c:\scanip\hostname.txt
 
for /l %%i in (1,1,%taille%) do (
 
set var=%%i%
 
start scanengine.bat
ping -n 1  127.0.0.1
 
)
ping -n 3  127.0.0.1
 
 
start pluginmsg.bat
arp -a>c:\scanip\macaddress.txt
 
exit
 
 
 
 

n°844987
DOD_edge
Posté le 08-09-2004 à 13:38:33  profilanswer
 

le deuxieme c scanengine.bat
@echo off
 
  PING -n 1 %ip%.%var% |FIND "TTL" > NUL
  IF NOT ERRORLEVEL 1 GOTO ok
  ECHO 10.2.24.%var% disconnect>>c:\scanip\scanresults.txt
  goto end
   
  :ok
  ping -n 1 %ip%.%var% |find "TTL=64" > nul
  IF NOT ERRORLEVEL 1 GOTO msg1
  net view %ip%.%var% |FIND "est vide" > NUL
  if not errorlevel 1 goto msg1
  ECHO %ip%.%var% Connect avec partages
  ECHO %ip%.%var% Connect avec partages>>c:\scanip\scanresults.txt
  ECHO %ip%.%var% Connect avec partages>>c:\scanip\goodresults.txt
  rem start pluginavert.bat
  start pluginscanhostname.bat
  goto fin
 
  :msg1
  ECHO %ip%.%var% Connect sans partage>>c:\scanip\scanresults.txt
  ECHO %ip%.%var% Connect sans partage>>c:\scanip\goodresults.txt
  start pluginscanhostname.bat
  goto end
 
  :end
exit
 
  :fin
net view %ip%.%var% >>c:\scanip\partages.txt
 
exit

n°844989
DOD_edge
Posté le 08-09-2004 à 13:39:08  profilanswer
 

et éventuellement tu peux rajouter le pluginmsg.bat
@echo off
echo ----------------------------------------
echo ordinateur(s) connecte(s):  
type c:\scanip\goodresults.txt
echo retrouvez tous ces resultats dans:  
echo c:\scanip\
echo scanresults.txt  
echo goodresults.txt
echo partages.txt
echo hostname.txt
echo ----------------------------------------

n°844991
yoggy_nour​s
Posté le 08-09-2004 à 13:40:50  profilanswer
 

ok je teste

n°844992
DOD_edge
Posté le 08-09-2004 à 13:41:08  profilanswer
 

il faut ke tu crée le rep c:\scanip g oublié de mettre le mkdir

mood
Publicité
Posté le 08-09-2004 à 13:41:08  profilanswer
 

n°844996
yoggy_nour​s
Posté le 08-09-2004 à 13:48:34  profilanswer
 

j'avais vu :)
violent quant il se met en route :)

n°845013
DOD_edge
Posté le 08-09-2004 à 14:04:48  profilanswer
 

c pour aller le plus vite possible si je tempo de trop c infernal

n°845056
yoggy_nour​s
Posté le 08-09-2004 à 14:51:24  profilanswer
 

ok
j'ai trouvé dans ton code ce qui m'interressait pour faire le test.  
je te remercie.

n°845119
DOD_edge
Posté le 08-09-2004 à 15:16:02  profilanswer
 

de rien

n°906351
Anoriel
Posté le 24-11-2004 à 10:22:46  profilanswer
 

DOD_edge a écrit :

le deuxieme c scanengine.bat
@echo off
 
  PING -n 1 %ip%.%var% |FIND "TTL" > NUL
  IF NOT ERRORLEVEL 1 GOTO ok
  ECHO 10.2.24.%var% disconnect>>c:\scanip\scanresults.txt
  goto end
   
  :ok
  ping -n 1 %ip%.%var% |find "TTL=64" > nul
  IF NOT ERRORLEVEL 1 GOTO msg1
  net view %ip%.%var% |FIND "est vide" > NUL
  if not errorlevel 1 goto msg1
  ECHO %ip%.%var% Connect avec partages
  ECHO %ip%.%var% Connect avec partages>>c:\scanip\scanresults.txt
  ECHO %ip%.%var% Connect avec partages>>c:\scanip\goodresults.txt
  rem start pluginavert.bat
  start pluginscanhostname.bat
  goto fin
 
  :msg1
  ECHO %ip%.%var% Connect sans partage>>c:\scanip\scanresults.txt
  ECHO %ip%.%var% Connect sans partage>>c:\scanip\goodresults.txt
  start pluginscanhostname.bat
  goto end
 
  :end
exit
 
  :fin
net view %ip%.%var% >>c:\scanip\partages.txt
 
exit


 
Salut DOD_edge,
 
je voulais savoir ce qu'il y avait dans les fichiers
     pluginavert.bat
   et
     pluginscanhostname.bat
 
car en lançant la procédure, il m'indique que le 2ème n'existe pas.
 
Peux-tu les mettre aussi à dispo?
 
Merci d'avance...

n°910095
DOD_edge
Posté le 29-11-2004 à 11:17:22  profilanswer
 

En fait pas grand chose mon scrip me permait d'automatiser un envoi de messages aux users qui ont des partages actifs via le pluginavert.bat et de tenter de résoudre les noms d'hotes via le pluginscanhostname.bat si tu les veux le peux mettre les codes ...

n°1578699
acidben
Posté le 25-06-2007 à 09:48:57  profilanswer
 

moi je les veut bien...


---------------


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  ping auto d'une liste de PC (débutant)

 

Sujets relatifs
[Débutant] Ptit coup de pouce pour démarrer!Débutant en programmation : Par quel(s) langage(s) commencer
Quel livre pour s'initier à java pour un debutant en programmation[access] tableau -> liste
[Débutant Inside] Imprimer une base Access sous VB6petit probleme de debutant
Problèmes sur ORDER et de constituer un groupe de listeProblème de débutant : InetAddress : paramètres
[Struts] Liste déroulanteProgrammation VBA, débutant en grosse difficulté !
Plus de sujets relatifs à : ping auto d'une liste de PC (débutant)


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