fdthierry
Messages postés106Date d'inscriptionlundi 24 novembre 2003StatutMembreDernière intervention27 septembre 2019
-
7 oct. 2004 à 18:24
jmvd2
Messages postés17Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention16 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.
fdthierry
Messages postés106Date d'inscriptionlundi 24 novembre 2003StatutMembreDernière intervention27 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??
'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 "-----------------------------------------------------------------------"
'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
'============================================================'
' 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.
loamas
Messages postés1Date d'inscriptiondimanche 5 mars 2006StatutMembreDerniè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
jmvd2
Messages postés17Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention16 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
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)
'============================================================'
' 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 '
'---------------------------'