nslookup via shell [VBS] - VB/VBA/VBS - Programmation
MarshPosté le 13-01-2014 à 13:10:40
Bonjour a tous
J'ai créé un script VBS qui ping des machines (PC, imprimantes,...etc) listées dans un fichier Excel.
Donc j'explique brièvement ce que j'ai fait jusqu'à présent :
Le script fait démarrer à la 2ème ligne du fichier excel (1ère ligne réservée à la mise en page), je fais appel a tout ce qui me faut pour la suite, ouverture du fichier Excel...etc Ensuite je démarre une boucle qui prend en compte la 1ère colonne et qui à pour condition de s'arrêter lorsque la cellule renvoi la valeur "END". je déclare mon ip qui se situe dans la cellule à la variable strComputer, j'applique la mise en page en 1ère ligne, je fais appel a Shell pour effectuer le ping et je créé un filtre pour éviter que le script ne cherche a faire un ping sur les cellules vides ou invalides.J'ai aussi créé un compteur pour savoir combien de fois la machine n'a pas répondu au ping (compteur réinitialisé si la machine répond). hop sa tourne en boucle ! Pour finir Excel se ferme et sauvegarde mon fichier.
Voilà le resultat :
Maintenant je souhaite affichier le nom de la machine via nslookup mais je n'y arrive franchement pas. J'ai testé le WMI mais il s'est avéré que le ping via WMI ne passe pas bien sur tout les PC et les imprimantes, donc j'ai peur que passer par WMI pose des problèmes.
Voici le code :
Code :
Set objExcel = CreateObject("Excel.Application" )
objExcel.Visible = True
intRow = 2
Set Fso = CreateObject("Scripting.FileSystemObject" )
Set objWorkbook = objExcel.Workbooks.Open("C:\File_Name.xlsx" )
Set InputFile = objWorkbook
'# Debut Boucle
Do Until objExcel.Cells(intRow,1).Value = "END"
strComputer = objExcel.Cells(intRow, 1).Value
objExcel.Cells(1, 1).Value = "Machine Name"
objExcel.Cells(1, 2).Value = "Status"
objExcel.Cells(1, 3).Value = "Down Count"
objExcel.Cells(1, 4).Value = "Name"
On Error Resume Next
'# Declaration Variables
Set WshShell = WScript.CreateObject("WScript.Shell" )
Marsh Posté le 13-01-2014 à 13:10:40
Bonjour a tous
J'ai créé un script VBS qui ping des machines (PC, imprimantes,...etc) listées dans un fichier Excel.
Donc j'explique brièvement ce que j'ai fait jusqu'à présent :
Le script fait démarrer à la 2ème ligne du fichier excel (1ère ligne réservée à la mise en page), je fais appel a tout ce qui me faut pour la suite, ouverture du fichier Excel...etc
Ensuite je démarre une boucle qui prend en compte la 1ère colonne et qui à pour condition de s'arrêter lorsque la cellule renvoi la valeur "END".
je déclare mon ip qui se situe dans la cellule à la variable strComputer, j'applique la mise en page en 1ère ligne, je fais appel a Shell pour effectuer le ping et je créé un filtre pour éviter que le script ne cherche a faire un ping sur les cellules vides ou invalides.J'ai aussi créé un compteur pour savoir combien de fois la machine n'a pas répondu au ping (compteur réinitialisé si la machine répond). hop sa tourne en boucle ! Pour finir Excel se ferme et sauvegarde mon fichier.
Voilà le resultat :
Maintenant je souhaite affichier le nom de la machine via nslookup mais je n'y arrive franchement pas. J'ai testé le WMI mais il s'est avéré que le ping via WMI ne passe pas bien sur tout les PC et les imprimantes, donc j'ai peur que passer par WMI pose des problèmes.
Voici le code :
Donc si quelqu'un de généreux peut m'aider je suis preneur
Message édité par Dan__124 le 13-01-2014 à 13:19:20