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
| '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Réalisation Micka180
'Ce script à pour But, de restorer les ACL precedement Sauvegardes. '
'Il realise un traitement sur les fichiers des ACL sauvegardé precedement. '
'Il execute la commande de restauration des ACL sur l'enssemble des Fichiers ACL sauvegardé Precedement. '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Declaration des Variables
Dim stRep_log 'Nom du répertoire à parcourir pour recuperer les fichiers des ACL
Dim oFSO,oFl,f
Dim chaine,objFile
Const ForReading = 1, ForWriting = 2 'pour lecture et ecriture dans fichier des ACL
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set shl = createobject("wscript.shell")
stRep_log = "C:\Logs\ACL\" 'emplacement des Fichiers des ACL
stRep_copie = "C:\Logs\ACL\ACL_next\" 'emplacement de la copie retravaillé des fichiers ACL
If oFSO.FolderExists(stRep_log) Then 'Verification de l'existance du Repertoire C:\Logs\ACL\
WScript.Echo"Le Repertoire "& Rep_log &"Est Present"
WScript.Echo"Debut du Traitement De Restauration ACL"
For each oFl in oFSO.GetFolder(stRep_log).Files 'pour tous les fichiers present dans C:\Logs\ACL\
WScript.Echo stRep_log 'Affiche le repertoire des fichiers ACL
Wscript.Echo oFl.Name 'Affiche le nom du Fichier ACL sur lequel le programe se trouve
Rep_copie(stRep_copie)'appel fonction de Verification de la presence du repertoire vers lequel la copie des fichier va se faire
menage()'appel fontion qui va supprimer les ligne inexploitable des Fichier ACL sur C:\Logs\ACL
Copie()'Appel fonction qui va copier les Fichiers ACL retravaillé de C:\Logs\ACL\ACL_next\ vers
sup()'Appel fonction qui qui va faire l'extraction (depuis fichiers ACL sur C:\Logs\ACL\)du chemin sur laquelle la commande de Restoration ACL dois s'executer
commande(Extraction_cible) 'execution de la commande sur chacun des fichier scanné dans C:\Logs\ACL vers C:\Logs\ACL\
Next
If Not ofso.FolderExists(stRep_log) Then
WScript.Echo"Attention Assurer Vous D'avoir Executé le Script SUBFOLDER4_ACL Auparavant"
End If
End If
' commande à executer sur chaques fichiers scanné dans C:\Logs\ACL
'
Sub Commande (Extraction_cible)
Dim stCde
stCde = "cmd /C setacl.exe -On " &"""" &Extraction_cible &"""" &" -ot file -actn restore -bckp " & stRep_log & oFl.Name
wscript.echo "Recuperation Adresse dans Fonction Commande = " &Extraction_cible
shl.run stCde,0,True
WScript.Echo stCde
End Sub
Sub sup()
Set f = oFSO.OpenTextFile(stRep_log & oFl.Name)
while Not f.AtEndOfStream
chaine = f.ReadAll
wscript.echo "contenu du fichier = "&Chaine
Wend
f.Close
Extraction = Mid(Chaine,6)
wscript.echo "coupure des caracteres non desirés : " &Extraction
Caract_cible = InStr(Extraction,"""")
wscript.echo "Emplacement du caractere = " &Caract_cible
Extraction_cible = left(Extraction,Caract_cible -1 )
wscript.echo "Recuperation Adresse = " &Extraction_cible
End Sub
Sub menage()
Set f = oFSO.OpenTextFile(stRep_log & oFl.Name)
strContents = f.ReadAll
f.Close
arrLines = Split(strContents, vbCrLf)
Set objFile = oFSO.CreateTextFile("C:\Logs\ACL\ACL_next\" &oFl.Name, ForWriting)
For i = LBound(arrLines)to Step +1
wscript.Echo i
objFile.WriteLine arrLines(i)
Next
objFile.Close
End Sub
Sub Rep_copie(stRep_copie)
Set oFSO = CreateObject("Scripting.FileSystemObject")
If Not ofso.FolderExists(stRep_copie) Then
WScript.echo"pas de rep log"
Rep_copie(ofso.GetParentFolderName(stRep_copie))
ofso.CreateFolder(stRep_copie)
WScript.echo"Rep_Log créé"
End If
End Sub
Sub Copie()
oFSO.CopyFile stRep_copie &oFl.Name,stRep_log &oFl.Name,True
End sub |
Partager