www.polyteknique.net Annuaire d'URL géographique !

.:: PLAN :: CV :: CONTACT :: MOTEUR :: STATS :: BILLETS :: NNTP :: IRC ::.
Navigation : DEVELOPPEMENT > VBS, WSH
SCRIPT DE SAUVEGARDE EN LIGNE / HORS LIGNE
Voici un script initialement conçu pour faire la sauvegarde des PST Outlook des utilisateurs itinérants. Vous pourrez appliquer ce script à d'autres domaines...
www.polyteknique.netOBJECTIF DE CE SCRIPT
Réaliser une copie de secours du fichier PST d'Outlook pour les utilisateurs équipés d'un ordinateur portable ayant tout de même une connexion réseau à leur bureau.

D'abord on fait un test pour savoir si l'on se trouve ou non connecté au réseau local (utilisation du Ping et verification de sa sortie sur la console).

Le script fait ensuite une copie en .old du fichier distant (cela peut peut-être servir en cas de souci ???). Enfin on copie le fichier local vers le serveur. Avec cela il reside, sur le serveur, 2 versions de la sauvegarde (la copie normale et son .old).

Une ou deux popup pour les messages et hop on démarre Outlook !

Ce script doit être executé à l'ouverture de la sessione Windows. Si l'utilsateur est hors ligne (en déplacement) rien ne se passe. Il vaut mieux veiller à garder un PST pas trop gros pour éviter des copie qui n'en terminent pas ! Pour cela, utilisez la fonction d'archivage du logiciel (les itinérants n'ont pas besoin de partir avec tous leurs mails depuis X années !!).
www.polyteknique.netLE SCRIPT
'----------------------------------------------------------------------------------------
' Objectifs : faire une sauvegarde du PST principal d'outlook à travers le réseau
'          à l'ouverture de session de Windows. Cas typique du commercial
'          qui rentre à son bureau et se connecte au réseau.
'----------------------------------------------------------------------------------------

'     -> Prévenir l'utilisateur qu'une sauvegared va démarrer, Outlook
'          sera ouvert automatiquement à la fin.

'     -> Faire la copie des PST du portable (c:\) vers un lecteur réseau protégé (y:\)

'     -> Lancer Outlook

'     -> Ne rien faire si utilisateur en déplacement

'----------------------------------------------------------------------------------------
' **** DECLARATION DES INSTANCES UTILES *****
'----------------------------------------------------------------------------------------

set shell  = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")

'----------------------------------------------------------------------------------------
' **** PARAMETRES DU CLIENT ET DU SERVEUR *****
'----------------------------------------------------------------------------------------

serveur    = "172.16.87.6"          ' IP du serveur de backup
dir_source = "c:\windows\bureau\"     ' Chemin pour le PST source (local)
dir_copie  = "y:\ftricard\"          ' Chemin vers le serveur (distant)
nom_pst        = "TODO.TXT"               ' Nom du PST à traiter
ext_copie  = ".old"               ' Extension pour la copie de sauvegarde     


if not (objFSO.FileExists(dir_source & nom_pst)) then
     ' On quitte si PST introuvable
     shell.Popup "Fichier source introuvable", 4, "Annulation", 64 + 7
     WScript.Quit -1
end if


'----------------------------------------------------------------------------------------
' **** VERIFIER QU'ON EST CONNECTE AU RESEAU *****
'----------------------------------------------------------------------------------------

Function IsConnectable(sHost,iPings,iTO)

     ' sHost is a hostname or IP
     ' iPings is number of ping attempts
     ' iTO is timeout in milliseconds
     ' if values are set to "", then defaults below used

     If iPings = "" Then iPings = 2
     If iTO    = "" Then iTO    = 750

     Set ExCmd = shell.Exec("ping -n " & iPings & " -w " & iTO & " " & sHost)
     
     Select Case InStr(ExCmd.StdOut.Readall,"perte 0%")
          Case 0    IsConnectable = False
          Case Else IsConnectable = True
     End Select

End Function

if IsConnectable(serveur,"","") = False then
     ' On quitte si on est hors du réseau interne
     shell.Popup "Vous êtes en déplacement", 1, "Hors Ligne", 64 + 7
     WScript.Quit -1
end if


'----------------------------------------------------------------------------------------
' **** POPUP AVERTISSEMENT *****
'----------------------------------------------------------------------------------------

shell.Popup "Sauvegarde de vos mailS en cours, Outlook sera ouvert automatiquement à " &_
          " la fin de la savegarde", 4, "Patienter SVP...", 64 + 7


'----------------------------------------------------------------------------------------
' **** COPIE PST EN BACKUP SUR SERVEUR ****
'----------------------------------------------------------------------------------------

' Supprimer l'ancien .old
if (objFSO.FileExists(dir_copie & nom_pst & ext_copie)) then
     objFSO.DeleteFile dir_copie & nom_pst & ext_copie, true
end if

' Renomme l'ancien PST en .old sur le serveur
if (objFSO.FileExists(dir_copie & nom_pst)) then
     objFSO.MoveFile dir_copie & nom_pst , dir_copie & nom_pst & ext_copie
end if

' Copie du PST local sur le serveur
objFSO.CopyFile dir_source & nom_pst , dir_copie


'----------------------------------------------------------------------------------------
' **** OUVRIR OUTLOOK ****
'----------------------------------------------------------------------------------------

shell.Popup "Ouverture d'Outlook en cours", 2, "Patienter...", 64 + 7

RegBase = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Outlook.exe\"
AppExe  = shell.RegRead(RegBase)

shell.run chr(34) & AppExe & chr(34)


set shell  = Nothing
Set objFSO = Nothing

Rédigé le : 2005-02-22 14:26:07
Admin - 2003-2008 @ PolyTek~>DeeZigN - 83952 visites - Contact
Chargée en 0.03 sec. - sans cache (9 requètes) - 38.103.63.16 - PhP : 4.4.4
Valid XHTML 1.0 ! Debian GNU/Linux est un système d'exploitation libre Valid CSS !