Ping en VbScript

Résolu
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019 - 7 oct. 2004 à 18:24
jmvd2 Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 16 mars 2010 - 15 févr. 2009 à 10:31
Bonjour,

Est il possible d'effectuer un ping via le VBS d'une
station sans utiliser la fonction Shell.Run "Ping
192.168.1.1"
Ceci afin de travailler avec le résultat.

J'ai bien trouvé un script chez Microsoft Script Center,
mais il nécessite XP, je n'ai que Win2K Pro.

Amicalement
Thierry
A voir également:

11 réponses

fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
12 oct. 2004 à 13:13
Bonjour,

en fait j'ai procédé autrement, j'ai redirigé mon résultat dans un filtemp puis analyze de ce fichier avec instr
Et ça roule au poil.

Merci tout de même.
Amicalement,
Thierry
3
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
7 oct. 2004 à 18:26
J'ai essayé ceci mais il ne me génère pas mon fichier txt:

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec ("ping 192.168.1.1 > c:\VerifSys.txt")
Do While oExec.Status = 0
WScript.Sleep 300
Loop
WScript.Echo oExec.Status

Alors que sous Dos, cette commande fonctionne bien??

Amicalement
Thierry
0
dale02 Messages postés 24 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2005
11 déc. 2004 à 17:16
peut on m'aider pour faire un ping a partir d'une machine win2000 sur d'autres machines du même type?

Il faut savoir que le server est sous windows2000 serveur et que c'est un domaine.. Car je sais que avec win 2003 c'est diff...

Merci de votre aide
0
dale02 Messages postés 24 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2005
11 déc. 2004 à 17:44
il faudra que je puisse voir si une machin dont on connasi le nom, est allumé
0

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

Posez votre question
dale02 Messages postés 24 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2005
12 déc. 2004 à 22:08
peut on m'aider svp?
0
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
13 déc. 2004 à 19:29
Bonsoir,

J'ai le source sur mon lieu de travail, je te mettrais cela dés demain ou ces prochains jours pour faire ce que tu souhaites.

Amicalement
Thierry
0
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
14 déc. 2004 à 15:09
Salut,

Comme promis voici mon code:
Il te reste plus qu'à faire un copier coller.

'---------------------------'
' Début du code '
'---------------------------'

'Déclaration des Constantes Const ForReading 1, ForWriting 2, ForAppending = 8

'Déclaration des Objets
Dim fso, srcFile, Ratio, Avance, strCheck, strMat0

Err = 0
Avance = 0

'Déclaration des Variables
strFile = "AdStations.txt"

strLog = "VerifStation.log"

strTemp = "FileTemp.txt"

strComputer = "."
strCheck = 0

'Définition des objets
Set fso = CreateObject("Scripting.FileSystemObject")
Set Shell = WScript.CreateObject("WScript.Shell")

'Vérification que le fichier listing des Stations existe bien
If Not (fso.FileExists(strFile)) Then
MsgBox "Le fichier " & strFile & " n'existe pas!",4144, "Erreur"
Wscript.quit
End if

Set srcFile = fso.OpenTextFile(strFile, ForReading, False)
Set txtLog = fso.OpenTextFile(strLog, ForWriting, True)

txtLog.WriteLine "================================================================================="
txtLog.WriteLine "Vérification des Stations démarré le: " & Now()
txtLog.WriteLine "Fichier de référence Station : " & strFile
txtLog.WriteLine "-----------------------------------------------------------------------"

Do While srcFile.AtEndOfStream <> True
strMateriel = "Station"
strLine = srcFile.ReadLine
Shell.run "cmd /c ping -n 2 -w 20000 " & strLine & " > " & strTemp, 0, True
strReponse = "Pas de réponse de la " & strMateriel & " -- ##"
Analyz() If strCheck 1 Then strReponse strMateriel & " fonctionnelle"
txtLog.WriteLine strLine & vbTab & "-" & vbTab & "-----> " & strReponse
Loop
srcFile.Close
txtLog.WriteLine "-----------------------------------------------------------------------"

txtLog.WriteLine "Vérification des Stations terminée le: " & Now()
txtLog.WriteLine "================================================================================="

txtLog.Close

'Consultation possible des Log
Journal= MsgBox ("Vérification du système terminée." & vbcrlf & vbcrlf & "Consultation du journal ?",4132 ,"Rapport")
If Journal = 6 Then
Return = Shell.Run ("%windir%\notepad.exe " & strLog, 3, TRUE)
End if

Set fso = Nothing
Set Shell = Nothing
Set txtLog= Nothing
Set fileTemp = Nothing

strComputer = ""
strCheck = ""
strFile = ""
strReponse = ""
strLog = ""
strTemp = ""

'============================================================'
' FONCTIONS '
'============================================================'
Function Analyz()
set filTemp = fso.OpenTextFile(strTemp, ForReading, True)
strCheck = 0
Do Until filTemp.AtEndOfStream = True
If InStr(filTemp.ReadLine, "octets=") > 0 Then
strCheck = 1
Exit Do
End If
Loop
filTemp.Close
Set DelFile = fso.GetFile(strTemp)
DelFile.Delete
End Function

'---------------------------'
' Fin du code '
'---------------------------'

Copie ce code dans un fichier que tu appelles comme tu veux.
Ensuite tu créés un fichier AdStations.txt dans le même répertoire ou se trouve le script avec un nom de machine par ligne c'est IMPERATIF.
Exemple:
MILL-00-TOTO
MAJ-03-ARBRE

Ne pas faire de retour chariot sur la dernière ligne.

Voilà, si tu as des questions, n'hésite pas.

Amicalement,
Thierry
0
dale02 Messages postés 24 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2005
14 déc. 2004 à 15:17
merci bcp
0
loamas Messages postés 1 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 8 mars 2006
8 mars 2006 à 09:12
merci pour ton programme mais malgrés l'eesai avec le fichier AdStations.txt dans le même repertoire il me dit que ça ne fonctionne .merci d'avance de ton aide
0
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
8 mars 2006 à 18:32
Quel genre d'erreur as tu?

Il faut savoir que si un poste ne répond pas cela génère une erreur 462.

Pour éviter que ton script s'arrête sur une erreur, mets On Error Resume Next tout en haut du script VBS juste avant les constantes.

A ton service si besoin de plus d'aide?

Peux tu me donner le contenu de ton fichier AdStations.txt et ton VBS pour voir ;o)

Amicalement,
Thierry
0
jmvd2 Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 16 mars 2010
15 févr. 2009 à 10:31
Salut Thierry, salut Loamas,
Et merci à Thierry pour ce code !!!!
Pour ma part je trouve ce code impec ! Il marche très bien !
j'y apporté quelques amélioration pour la V1.1 ;)
- La centralisation des logs dans un répertoire
- Le versionning de la log avec la date d'exécution dans le nom du fichier.

Ca donne ça :

'---------------------------'
' Début du code '
'---------------------------'


'Déclaration des ConstantesConst ForReading 1, ForWriting 2, ForAppending = 8


'Déclaration des Objets
Dim fso, srcFile, Ratio, Avance, strCheck, strMat0




''' Ajout perso
Aujourdhui = now()
Aujourdhui =  day(Aujourdhui) & "_" & month(Aujourdhui) & "_" & year(Aujourdhui)
Set objFSO = CreateObject("Scripting.FileSystemObject")


''' fin Ajout perso


Err = 0

Avance = 0'Déclaration des Variables
strFile = "ServerLst.txt"


strLog = "ServerTest.log"
strTemp = "objTextFile"


strComputer = "."
strCheck = 0


'Définition des objets
Set fso = CreateObject("Scripting.FileSystemObject")
Set Shell = WScript.CreateObject("WScript.Shell")

'Vérification que le fichier listing des serveurs existe bien
If Not (fso.FileExists(strFile)) Then
MsgBox "Le fichier " & strFile & " n'est pas présent!",4144, "Erreur"
Wscript.quit
End if
Set srcFile = fso.OpenTextFile(strFile, ForReading, False)
Set txtLog = fso.OpenTextFile("log\logping_" & Aujourdhui & ".txt", ForWriting, True)

txtLog.WriteLine "================================================================================="
txtLog.WriteLine "Vérification des Serveurs démarré le: " & Now()
txtLog.WriteLine "Fichier de référence Serveur : " & strFile
txtLog.WriteLine "-----------------------------------------------------------------------"


Do While srcFile.AtEndOfStream <> True
strMateriel = "Serveur"
strLine = srcFile.ReadLine
Shell.run "cmd /c ping -n 2 -w 20000 " & strLine & " > " & strTemp, 0, True
strReponse = "Pas de réponse du " & strMateriel & " - ALERTE !! "
Analyz()If strCheck 1 Then strReponse strMateriel & " fonctionnelle"
txtLog.WriteLine strLine & vbTab & "-" & vbTab & "-----> " & strReponse
Loop
srcFile.Close
txtLog.WriteLine "-----------------------------------------------------------------------"


txtLog.WriteLine "Vérification des Serveurs terminée le: " & Now()
txtLog.WriteLine "================================================================================="


txtLog.Close


'Consultation possible des Log
'Journal= MsgBox ("Vérification du système terminée." & vbcrlf & vbcrlf & "Consultation du journal ?",4132 ,"Rapport")
'If Journal = 6 Then
'Return = Shell.Run ("%windir%\notepad.exe " & strLog, 3, TRUE)
'End if


Set fso = Nothing
Set Shell = Nothing
Set txtLog= Nothing
Set fileTemp = Nothing


strComputer = ""
strCheck = ""
strFile = ""
strReponse = ""
strLog = ""
strTemp = ""

'============================================================'
' FONCTIONS '
'============================================================'
Function Analyz()
set filTemp = fso.OpenTextFile(strTemp, ForReading, True)
strCheck = 0
Do Until filTemp.AtEndOfStream = True
If InStr(filTemp.ReadLine, "octets=") > 0 Then
strCheck = 1
Exit Do
End If
Loop
filTemp.Close
Set DelFile = fso.GetFile(strTemp)
DelFile.Delete
End Function


'---------------------------'
' Fin du code '
'---------------------------'

J.Michel
0
Rejoignez-nous