[R] plusieur ping avec fontion selon reponse

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ChaudLesNeurones
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 22 oct. 2009 17:59
Status : Hors ligne

[R] plusieur ping avec fontion selon reponse

#1

Message par ChaudLesNeurones »

Bonjour,
voila mon probleme :
je voudrais faire une suite de ping sur mon reseau et si reponse au ping lancer une commande
sinon passer au ping suivant

voila un bout de script que j'ai commencer
mon probleme c'est que je n'arrive pas a trouver la formule magique pour passer au ping suivant

Code : Tout sélectionner

Dim $PING[15]


$PING[1]="192.168.0.1"
$PING[2]="192.168.0.2"
$PING[3]="192.168.0.3"
$PING[4]="192.168.0.4"
$PING[5]="192.168.0.10"
$PING[6]="192.168.0.11"
$PING[7]="192.168.0.12"
$PING[8]="192.168.0.15"
$PING[9]="192.168.0.16"
$PING[10]="192.168.0.20"
$PING[11]="192.168.0.21"
$PING[12]="192.168.0.20"

;---------------------------
$var = Ping($PING[6],250)
If $var Then
    Run("notepad.exe")
    Sleep (1500)
    Send ("reponse de:"&$PING[6],"")

;Run(@ComSpec & " /c " & "NET USE" &$PING[6]&" Administrateur")

;si ok on passe a l'IP suivante 

;????????

;si non ok on passe a l'IP suivante 

; ???????

EndIf
;---------------------------
Merci de votre aide
Modifié en dernier par ChaudLesNeurones le mar. 03 nov. 2009 16:55, modifié 1 fois.
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: [...] plusieur ping avec fontion selon reponse

#2

Message par jl56 »

bonjour

tu dois utiliser une boucle comme par exemple for next
je ne comprend pas pourquoi tu utilises un tableau

Code : Tout sélectionner

$classeip="192.168.0."
$debut_ping=1
$fin_ping=255

for $i = $debut_ping to $fin_ping
    $fin_ip=String($i)
    $var = Ping($classeip&$fin_ip,250)
;~  MsgBox(0,$classeip&$fin_ip,$var)
If $var Then
    Run("notepad.exe")
    Sleep (1500)
    Send ("reponse de:"&$classeip&$fin_ip,"")
;Run(@ComSpec & " /c " & "NET USE" &$PING[6]&" Administrateur")
;si ok on passe a l'IP suivante
;si non ok on passe a l'IP suivante
EndIf
next
voila comment je ferais

adapte ce code selon tes besoins

a+ JL56
ChaudLesNeurones
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 22 oct. 2009 17:59
Status : Hors ligne

Re: [...] plusieur ping avec fontion selon reponse

#3

Message par ChaudLesNeurones »

merci mais si j'ai un tableau c'est que les adresses ne se suivent pas forcement

ici c'est un example mais je ne suis pas forcement dans les même plage d'adresse IP

je pourrais passer de 192.168.0.* A 192.168.15.*

Example a mon bureau je suis en 10.10.*.*
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: [...] plusieur ping avec fontion selon reponse

#4

Message par jl56 »

OK je ne savais pas
mais du coup c'est plus simple

Code : Tout sélectionner

Dim $PING[15]

$PING[1]="192.168.0.1"
$PING[2]="192.168.0.2"
$PING[3]="192.168.0.3"
$PING[4]="192.168.0.4"
$PING[5]="192.168.0.10"
$PING[6]="192.168.0.11"
$PING[7]="192.168.0.12"
$PING[8]="192.168.0.15"
$PING[9]="192.168.0.16"
$PING[10]="192.168.0.20"
$PING[11]="192.168.0.21"
$PING[12]="192.168.0.20"


$fin_ping=12;derniere adresse à pinguer ici $PING[12]

for $i = 1 to $fin_ping
    
    $var = Ping($ping[$i],250)
;~  MsgBox(0,$classeip&$fin_ip,$var)
If $var Then
    Run("notepad.exe")
    Sleep (1500)
    Send ("reponse de:"&$ping[$i],"")

;Run(@ComSpec & " /c " & "NET USE" &$PING[6]&" Administrateur")

;si ok on passe a l'IP suivante

;????????

;si non ok on passe a l'IP suivante

; ???????

EndIf
next 
 
a+ JL56
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] plusieur ping avec fontion selon reponse

#5

Message par Tlem »

Bien compliqué tout ça ... :roll:

Je propose un fichier texte de la sorte :
ListeIp.txt

Code : Tout sélectionner

192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.10
192.168.0.11
192.168.0.12
192.168.0.15
192.168.0.16
192.168.0.20
192.168.0.21
192.168.0.20
et un code dans ce genre :

Code : Tout sélectionner

#Include <File.au3>

Global $aListeIp

_FileReadToArray("ListeIp.txt", $aListeIp)

for $i = 1 to $aListeIp[0]

    If Ping($aListeIp[$i],250) Then
        FileWrite('IpOk.txt', 'reponse de : ' & $ping[$i])
        ;Run(@ComSpec & " /c " & "NET USE" &$PING[6]&" Administrateur")
    Else
        ;si non ok on passe a l'IP suivante
        ; ???????
    EndIf
next
ShellExecute('IpOk.txt')
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ChaudLesNeurones
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 22 oct. 2009 17:59
Status : Hors ligne

Re: [...] plusieur ping avec fontion selon reponse

#6

Message par ChaudLesNeurones »

merci Tlem

c'est a peux de chose ce que je voulais

il y a quand même une erreur dans ton script ici :

FileWrite(IpOk.txt', 'reponse de : ' & $ping[$i])
j'ai reparer par :
FileWrite(IpOk.txt', 'reponse de : ' & $aListeIp[$i])

encore Merci.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] plusieur ping avec fontion selon reponse

#7

Message par Tlem »

Ha oui !
J'ai été trop vite sur la fin. ;)

Mais vous avez corrigé, ce qui est très bien.
Merci.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre