Verifier etat peripherique avec un ping

michoc0 Messages postés 4 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 9 juillet 2008 - 9 juil. 2008 à 22:16
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 10 juil. 2008 à 14:45
Bonsoir a tous et merci d'être venu jusqu'a cette page.
J'ai un petit probleme technique et je n'arrive pas a trouver la sortie.. même mes recherche sur google ne sont pas productive !

Voila je vous expose mon probleme, j'aimerai via un  VBScript pouvoir voir si un peripherique est allumé, ou non tout en envoyant une commande ping dans un invité de commande.

exemple: j'ai un peripherique ayant une id type 192.168.15.1
j'envoi la commande "ping 192.168.15.1" dans un invite de commande,  il verrifie  en envoyant des paquet si il est allumé ou pas,
puis recuperer la valeur et la mettre dans une variable (dans le VBScript) sous forme de false ou true.. et faire mes conditions.
 (je pense que c'est la methode la plus simple)

quelqu'un pourrait me mettre sur la voix

je desespere un peu..

Merci d'avance

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
9 juil. 2008 à 23:06
Salut
Je ne connais pas trop VBS, mais l'idée qui me viendrait :
- Lancer une commande DOS (Shell ou Cmd) avec ta commande Ping agrémenté d'une redirection du résultat, genre
   ping 192.168.15.1 >FichierTemp.txt
(Le > et la premire lettre du fichier doivent être collés)
- Ensuite, relire le fichier texte et découvrir la ligne qui signifie que la cible a répondu.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
michoc0 Messages postés 4 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 9 juillet 2008
9 juil. 2008 à 23:09
Hmm je vais essayer..
Merci de ta reponse et de la rapidité du delais ! :)
a bientot.. (ca m'embete de te dire ca dans l'immediat ! lol)
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
9 juil. 2008 à 23:24
 Bonsoir,

Ci-dessous deux exemples de ping:

strComputer = InputBox("saisir adresse IP",,"192.168.15.1)
 
On Error Resume Next
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}!\")._
              ExecQuery("select * from Win32_PingStatus where address = '" & strComputer & "'")
For Each objStatus in objPing
    If objStatus.Statuscode = 0 Then
       msgbox "status= " & objStatus.Statuscode,vbInformation,strComputer & " repond au ping !"
    else
       msgbox "status= " & objStatus.StatusCode,vbCritical,strComputer & " na pas repondu au ping!"
    End If
Next

 -------------
strComputer = InputBox("saisir adresse IP",,"192.168.15.1)

Set objShell = CreateObject("WScript.Shell")
Set objScriptExec = objShell.Exec( _
    "ping -n 2 -w 1000 " & strComputer)
strPingResults = LCase(objScriptExec.StdOut.ReadAll)
If InStr(strPingResults, "perdus = 0") Then
   MsgBox strPingResults,vbInformation,strComputer & " repond au ping !"
Else
   MsgBox strPingResults,vbCritical,strComputer & " n'a pas repondu au ping!"
End If

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

jean-marc
0
michoc0 Messages postés 4 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 9 juillet 2008
9 juil. 2008 à 23:32
Merci pour tout..
Au nom de tous les debutants qui comme moi ne connaissent que les progs de dev.. merci !!
Vous êtes d'une aide precieuse
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 juil. 2008 à 14:45



0
Rejoignez-nous