michoc0
Messages postés4Date d'inscriptionmercredi 9 juillet 2008StatutMembreDernière intervention 9 juillet 2008
-
9 juil. 2008 à 22:16
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDerniè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)
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
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
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