1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378
| '--------------------------------------------------------------------------
' SCRIPT POUR RECUPERER CONFIG NORTEL ET 3COM PAR TFTP
' LECTURE DU FICHIER EXCEL POUR LES IP DES NORTEL
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
'--- !!!!!!!!!!!!!!! LISTE VARIABLES INITIALISE EN DUR !!!!!!!!!!!!!!!! ---
'--- Déclaration du dossier TFTP dans les fonctions d'archivage ftp ---
'--- Declaration du fichier EXCEL pour récupérer les informations ---
'--- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ---
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
'################ DECLARATION DE FONCTION DU PROGRAMME ###################
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' DECLARATION DE VARIABLE
Dim classeur
Dim feuille
Dim fichier
Dim nb_equipement
Dim debut_ligne
Dim compteur
Dim adresseip
Dim modele
Dim user
Dim password
Dim firmware
Dim licence
Dim suffixe
'Déclartion du SHELL ou seront exécuté les commandes TELNET et autre
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
'--------------------------------------------------------------------------
'FONCTION PURGE FICHIER DE CONFIGURATION SUR LE TFTP GLOBAL RACINE W:\ - OK
Sub archive_ftp_global()
'Declaration des objets de scripting pour "deplacer, copier, créer et supprimer"
Dim creer
Set creer = CreateObject("Scripting.FileSystemObject")
Dim copier
Set copier = CreateObject("Scripting.FileSystemObject")
Dim supprimer
Set supprimer = CreateObject("Scripting.FileSystemObject")
Dim listing_1, listing_2
Set listing_1 = CreateObject("Scripting.FileSystemObject")
'Declaration du repertoire
Dim dossier
'Creation du repertoire d'archivage
Set creer = creer.CreateFolder ("E:\TFTP\save_" & day(date) & "_" & month(date) & "_" & year(date))
'Association repertoire et variable
dossier = "E:\TFTP\"
'Listing du dossier TFTP pour archivage
'Verification que le dossier existe
if listing_1.FolderExists(dossier) then
'Boucle sur les fichiers existant
for each listing_2 in listing_1.GetFolder(dossier).Files
'copy des anciennes sauvegarde dans le dossier d'archivage
copier.CopyFile "E:\TFTP\" & listing_2.Name,"E:\TFTP\save_" & day(date) & "_" & month(date) & "_" & year(date) & "\" & listing_2.Name,True
'Suppression des anciennnes sauvegarde à la racine de W
supprimer.DeleteFile "E:\TFTP\" & listing_2.Name, True
Next
End if
End Sub
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
'FONCTION PURGE FICHIER DE CONFIGURATION NORTEL_8310 DANS DOSSIER
Sub archive_ftp_dossier(AD,SU)
'Variable AD=AdresseIP, SU=Suffixe
'Declaration des objets de scripting pour "deplacer, copier, créer et supprimer"
Dim copier
Set copier = CreateObject("Scripting.FileSystemObject")
Dim listing_1
Set listing_1 = CreateObject("Scripting.FileSystemObject")
'Declaration du repertoire
Dim dossier
'Association repertoire et variable
dossier = "E:\TFTP\" & SU & AD
'Verification que le dossier existe
if listing_1.FolderExists(dossier) then
'Copie du dossier 8310 de la variable adresseIP dans le dossier d'archivage
copier.CopyFolder "E:\TFTP\" & SU & AD,"E:\TFTP\save_" & day(date) & "_" & month(date) & "_" & year(date) & "\" & SU & AD,True
'Suppression de l'ancien repertoire de sauvegarde à la racine du TFTP
copier.DeleteFolder "E:\TFTP\" & SU & AD,True
End if
End Sub
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' CREATION DOSSIER
Sub create_folder(AD,SU)
'Variable AD=AdresseIP, SU=Suffixe
'Declaration des objets de scripting pour creer
Dim creer
Set creer = CreateObject("Scripting.FileSystemObject")
'Creation du repertoire pour sauvegarde
Set creer = creer.CreateFolder ("E:\TFTP\" & SU & AD)
End Sub
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' FONCTION KILLER LE PROCESSUS
Sub kill_process(name)
' Déclaration de l'ordinateur local
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
' Select sur les PROCESS avec condition Variable NAME
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = '" & name & "'")
' Arret PROCESS
For Each objProcess in colProcessList
objProcess.Terminate()
Next
End Sub
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' FONCTIONS POUR SAUVEGARDE NORTEL
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' NORTEL 2506 - FONCTION UPLOAD DE FICHIER PAR TFTP
Sub nortel_2526(AD,US,PA,SU)
'Variable AD=AdresseIp, US=Utilisateur, PA=Mot de Passe, SU=Suffixe
'Exécution des commande dans le SHELL
WshShell.Run "telnet.exe"
WScript.Sleep 2000
WshShell.SendKeys "open " & AD & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "^Y"
WScript.Sleep 2000
WshShell.SendKeys US & chr(13)
WScript.Sleep 2000
WshShell.SendKeys PA & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "enable" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "copy running-config tftp address 10.XX.XX.XX filename " & SU & AD & ".cfg" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "exit" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "a" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "quit" & chr(13)
WScript.Sleep 2000
End Sub
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' NORTEL 8310 - FONCTION DOWNLOAD CONFIGURATION PAR FTP
Sub nortel_8310(AD,US,PA,FW,LI,SU)
'Variable AD=AdresseIp, US=Utilisateur, PA=Mot de Passe, FW=Firmware, LIC=Licence, SU=Suffixe
'Déclaration des commandes FTP à exécuter dans le shell
WshShell.SendKeys "E:" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "cd E:\" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "cd TFTP" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "cd " & SU & AD & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "FTP " & AD & chr(13)
WScript.Sleep 2000
WshShell.SendKeys US & chr(13)
WScript.Sleep 2000
WshShell.SendKeys PA & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "binary" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "get /flash/boot.cfg" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "get /flash/config.cfg" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "get /flash/ers8310_" & LI & ".dat" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "get /flash/p83a" & FW & ".img" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "get /flash/p83b" & FW & ".img" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "get /flash/p83r" & FW & ".dld" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "bye" & chr(13)
WScript.Sleep 2000
End Sub
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' FONCTIONS POUR SAUVEGARDE 3COM
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' 3COM 4500 - FONCTION UPLOAD DE FICHIER PAR TFTP
Sub TROISCOM_4500(AD,US,PA,SU)
'Variable AD=AdresseIp, US=Utilisateur, PA=Mot de Passe, SU=Suffixe
'Declaration des objets de scripting pour "deplacer, copier, créer"
Dim copier
Set copier = CreateObject("Scripting.FileSystemObject")
Dim listing_1
Set listing_1 = CreateObject("Scripting.FileSystemObject")
'Declaration du repertoire
Dim dossier
'Exécution des commande dans le SHELL
WshShell.Run "telnet.exe"
WScript.Sleep 2000
WshShell.SendKeys "open " & AD & chr(13)
WScript.Sleep 2000
WshShell.SendKeys US & chr(13)
WScript.Sleep 2000
WshShell.SendKeys PA & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "TFTP 10.XX.XX.XX put 3comoscfg.cfg" & chr(13)
WScript.Sleep 20000
WshShell.SendKeys "quit" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "a" & chr(13)
WScript.Sleep 2000
WshShell.SendKeys "quit" & chr(13)
WScript.Sleep 2000
'Déplacement des fichiers dans un repertoire
'Association repertoire et variable
dossier = "E:\TFTP\" & SU & AD
'Verification que le dossier existe
if listing_1.FolderExists(dossier) then
copier.CopyFile "E:\TFTP\3comoscfg.cfg","E:\TFTP\" & SU & AD & "\3comoscfg.cfg",True
copier.DeleteFile "E:\TFTP\3comoscfg.cfg",True
End if
End Sub
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
'##########################################################################
'########################### DEBUT DU SCRIPT #############################
'##########################################################################
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' RECUPERATION DU NOMBRE D'EQUIPEMENT ET DEBUT LIGNE
'Création application Excel
Set fichier = CreateObject("Excel.Application")
' Ouverture du fichier Excel dans l'application XLAPP
set classeur = fichier.workbooks.open ("E:\exploitation\sauve\reseau\config.xls")
' Déclaration d'une feuille et affectation de la première feuille
set feuille = classeur.sheets(1)
' Récupération du nombre d'equipement et début de ligne
Set nb_equipement = feuille.range("C4")
Set debut_ligne = feuille.range("C5")
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' PURGE TFTP - Archivage des anciens fichiers CFG
'Purge des anciens fichiers de configuration à la racine
call archive_ftp_global()
'Purge des anciens fichier de configuration 8310 dans dossier
For compteur = 0 To (nb_equipement - 1)
'Verification si c'est un NORTEL 8310
IF feuille.range("C" & debut_ligne + compteur) = "8310" then
' Récupération de l'adresse IP du NORTEL
Set adresseip = feuille.range("A" & debut_ligne + compteur)
Set suffixe = feuille.range("I" & debut_ligne + compteur)
'Appel de la fonction purge dossier sauvegarde 8310
call archive_ftp_dossier(adresseip,suffixe)
End if
'Verification si c'est un 3COM 4500
IF feuille.range("C" & debut_ligne + compteur) = "4500" then
' Récupération de l'adresse IP du 3COM
Set adresseip = feuille.range("A" & debut_ligne + compteur)
Set suffixe = feuille.range("I" & debut_ligne + compteur)
'Appel de la fonction purge dossier sauvegarde 4500
call archive_ftp_dossier(adresseip,suffixe)
End if
NEXT
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' SAUVEGARDE PAR TFTP CONFIGURATION EQUIPEMENTS RESEAU
' Boucle sur le nombre d'équipement
For compteur = 0 To (nb_equipement - 1)
' Récupération de l'adresse IP du NORTEL
Set adresseip = feuille.range("A" & debut_ligne + compteur)
Set modele = feuille.range("C" & debut_ligne + compteur)
Set licence = feuille.range("D" & debut_ligne + compteur)
Set firmware = feuille.range("E" & debut_ligne + compteur)
Set user = feuille.range("G" & debut_ligne + compteur)
Set password = feuille.range("H" & debut_ligne + compteur)
Set suffixe = feuille.range("I" & debut_ligne + compteur)
'Verification du modele
' ----------------------------
' --------- NORTEL ---------
'Modele Nortel 2526
If modele = "2526" then
'Appel de la fonction FTP pour SAVE 2526
call nortel_2526(adresseip,user,password,suffixe)
Else
'Modele Nortel 8310
If modele = "8310" then
'Création du repertoire de sauvegarde à la racine du TFTP
call create_folder(adresseip,suffixe)
'Appel de la fonction FTP pour SAVE 8310
call nortel_8310(adresseip,user,password,firmware,licence,suffixe)
End if
End if
' --------------------------
' --------- 3COM ---------
'Modele 3COM 4500
If modele = "4500" then
'Création du repertoire de sauvegarde à la racine du TFTP
call create_folder(adresseip,suffixe)
'Appel de la fonction FTP pour SAVE 4500
call TROISCOM_4500(adresseip,user,password,suffixe)
End if
NEXT
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
' FERMETURE EXCEL & SHELL
' Fermeture du CLASSEUR dans FICHIER
classeur.close
' Exit XLAPP
fichier.quit
' Initialisation des variable à NULL
Set classeur = Nothing
Set fichier = Nothing
' Kill PROCESS EXCEL
Call kill_process("EXCEL.EXE")
' Kill COMMAND LINE
Call kill_process("cmd.exe")
' Kill COMMAND LINE
Call kill_process("telnet.exe")
' WshShell.SendKeys "quit" & chr(13)
WScript.Sleep 5000
WScript.Quit
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
'##########################################################################
'############################ FIN DU SCRIPT ##############################
'##########################################################################
'-------------------------------------------------------------------------- |
Partager