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
| ' **********************LES ADRESSES IP SONT A CHANGER AINSI QUE LE CHEMIN DE LA VARIABLE "dossierDB" EN FONCTION SUR QUEL ORDINATEUR LE SCRIPT EST DEPLOYE***********************************
Dim oFSO, fichierVbs, oF1, oF2, f, wshell, dossierDB, oFld, FileExt, FileName, Folder, FilePath ' Déclaration des variables du scripts
Set wshell = CreateObject("WScript.Shell") ' Création de l'objet "wshell", cet objet va nous permettre de lancer des programmes et des scripts.
Set oFSO = CreateObject("Scripting.FilesystemObject") ' Création de l'objet "oFSO", cet objet permet de manipuler les dossiers et fichiers, comme le copyfile pour donner un exemple.
dossierDB = "\\192.168.69.21\apps\absys\EXPORTSOCS\Dropbox\Test" '@IP A CHANGER EN FONCTION DU CLIENT : Stockgae du chemin vers le dossier dropBox dans une variable.
fichierSev = "C:\ProgramData\OCS Inventory NG\Agent\*.xml" ' Stockage du chemin du fichier xml de l'inventaire sur Win7
FichierXP = "C:\Documents and Settings\All Users\Application Data\OCS Inventory NG\Agent\*.xml" ' Pareil mais pour WinXP
FolderSev = "C:\ProgramData\OCS Inventory NG\Agent" ' Ce chemin permet à la boucle for each de savoir dans quel dossier elle doit s'éxécuter.
FolderXP = "C:\Documents and Settings\All Users\Application Data\OCS Inventory NG\Agent" ' Ce chemin fait la meme chose mais sur WinXP
SysSev = "C:\ProgramData" ' Ce chemin permet de savoir si le script s'éxécute sur Win7
SysXp = "C:\Documents and Settings\All Users\Application Data" ' Pareil mais sur un WinXP
FileExt = LCase("xml") ' Permet de convertir la chaine xml en minuscule
wshell.run "\\192.168.69.21\apps\absys\ocspackage.exe" ' Lance ocspackage.exe
Wscript.Sleep(40000) ' Le script fait une pause de 40 sec permettant à ocspackage de s'installer
if oFSO.FolderExists(SysSev) then ' On vérifie l'existence du dossier ProgramData, propre à Win7
For Each File In oFSO.GetFolder(FolderSev).Files 'On parcours tous les fichiers du répertoire FolderSev
If Right(LCase(File.Name), 3) = FileExt Then ' On teste les 3 derniers caractères du nom du fichier
FilePath = File.Path ' On stock le chemin du fichier dont les trois dernier caracteres sont xml
End If
if ofso.FileExists(FilePath) then ' On verifie l'existence du fichier xml grace à la variable FilePath
Set oF1 = oFSO.GetFile(FilePath) ' Je vais chercher tout les informations sur le fichier
fromDate = oF1.dateCreated ' Je stock la date de création dans une variable pour la maethode DateDiff
toDate = Now ' La date du moment ou est lancé le script
DiffTps = DateDiff("m", fromDate, toDate) ' Stock la valeur du mois pour l'utlisé dans la condition ci-dessous
if DiffTps > 6 then ' On test si le fichier a été crée il y a plus de 6 mois si oui alors :
oFSO.DeleteFile "C:\ProgramData\OCS Inventory NG\Agent\*.xml",True ' On le supprime
wshell.run "\\192.168.69.21\apps\absys\scriptocs.bat" ' On le recréer grace au script
Wscript.Sleep(10000) ' Une pause de 10 sec pour laisser le script bat créer les fichiers necessaires à la suite du script.
oFSO.CopyFile "C:\ProgramData\OCS Inventory NG\Agent\*.xml", dossierdb, True ' On le copie dans dropbox
msbox("Copie effectuée avec succès") ' On affiche un message pour vérifier la bonne copie du fichier
else
msgbox("Ordinateur à jour") ' On affiche un message si le fichier n'est pas sup a 6 mois
end if
else
' Le fichier n'éxiste pas donc :
wshell.run "\\192.168.69.21\apps\absys\scriptocs.bat" ' On le créer
Wscript.Sleep(10000) ' On laisse le temps au script de le créer
oFSO.CopyFile "C:\ProgramData\OCS Inventory NG\Agent\*.xml", dossierdb, True ' et on le copie dans dropbox
end if
Next
else
if ofso.FolderExists(sysxp) then ' Je test pour savoir si c'est un xp en fonction de l'existence du dossier Application Data
For Each File In oFSO.GetFolder(FolderXP).Files 'On parcours tous les fichiers du répertoire
If Right(LCase(File.Name), 3) = FileExt Then 'On teste les 3 derniers caractères du nom du fichier
FileType = File.Type 'Si identique à l'extension recherchée
FilePath = File.Path
end if
Next
if ofso.FileExists(FilePath) then
set oF1 = oFSo.GetFile(FilePath) ' Recuperer les proprietés du fichier xml présent dans le dossier Agent.
fromDate = oF1.DateCreated ' stocker la valeur de la date de création
toDate = Now ' stocker la valeur de la date du systeme a l'instant ou s'execute le script
DiffTps = DateDiff("s", fromDate, toDate) ' Calcule la difference de mois entre la création et l'execution du script
if Difftps > 1 then ' Si la difference est de + de 6 mois alors
ofso.deletefile "C:\Documents and Settings\All Users\Application Data\OCS Inventory NG\Agent\*.xml" ' On supprime le vieux fichier
wshell.run "\\192.168.69.21\apps\absys\scriptocs.bat" ' On llance le script permettant d'en creer un nouveau
Wscript.Sleep(10000)
ofso.copyfile "C:\Documents and Settings\All Users\Application Data\OCS Inventory NG\Agent\*.xml", dossierDB ' On copie le xml fraichement crée dans dropbox
msgbox("Copie effectuée avec succès")
else
msgbox("Votre Ordinateur est a jour")
end if
else
' Le fichier n'éxiste pas donc :
wshell.run "\\192.168.69.21\apps\absys\scriptocs.bat" ' On le créer
Wscript.Sleep(10000) ' ' On laisse le temps au script de le créer
oFSO.CopyFile "C:\Documents and Settings\All Users\Application Data\OCS Inventory NG\Agent\*.xml", dossierdb, True ' et on le copie dans dropbox
end if
end if
end if |
Partager