|
Voila ce que j'ai fais en VBS, pour que chaque user qui se logg ait sa boite de paramétrée. A intégrer au script d'ouverture de session.
Le script test si Outlook a été lancé avec ce profile, si non il demande au user s'il veut avoir sa boite de paramétrée.
Il faut auparavant créer un .PRF grâce à L'ORK
Les commentaires, permettent de créer un PST, et de paramétrer la remise direct dessus.
Je suis aussi a la recherche de la clé de registre pour désactiver l'autoarchivage et aussi la messagerie instantané dans Outlook le tout en version 2002.
Merci
On Error Resume Next Set OConnexion=CreateObject("ADODB.Connection") OConnexion.Open "PROVIDER = ADsDSOOBJECT" Set OCommande = CreateObject("ADODB.Command") OCommande.ActiveConnection = OConnexion Set OReseau = CreateObject("WScript.network") Set Oshell = CreateObject("WScript.shell") Set ObjSysInfo = CreateObject ("ADSystemInfo")
monUser=OReseau.UserName sFilter = "(&(objectclass=user)(samaccountname=" & monUser & "))"
FullName = ObjSysInfo.UserName CheminLDAP = InStr (FullName,"OU=") CheminLDAP = "<LDAP://" & Mid(FullName,CheminLDAP) & ">;"
'Inscription de la requete dans l'objet Commande OCommande.CommandText = CheminLDAP & sFilter & ";mailnickname;subtree"'Execution de la requete Set ORecord = OCommande.Execute mail = ORecord.fields("mailnickname")
If mail<>"" Then 'Test si une boite a deja été parametrée sur ce profile SrtChemin = OShell.RegRead ("HKEY_CURRENT_USER\volatile environment\appdata") SrtChemin = SrtChemin & "\Microsoft\Outlook" Set OFSO = CreateObject("scripting.fileSystemObject") If OFSO.folderexists(SrtChemin) Then 'la boite est paramétrée sur le poste Else 'la boite n'est pas paramétrée sur le poste StrInstOut = MsgBox ("Voulez vous parametrer votre boite aux lettres sur cet ordinateur ?",4,"Parametrage Outlook") If StrInstOut = "6" Then 'OUI au parametrage de la boite ' Recherche du nom et prenom OCommande.CommandText = CheminLDAP & sFilter & ";givenName;subtree" 'Execution de la requete Set ORecord = OCommande.Execute Prenom = ORecord.fields("givenName") OCommande.CommandText = CheminLDAP & sFilter & ";sn;subtree" 'Execution de la requete Set ORecord = OCommande.Execute NOM = ORecord.fields("sn") 'TEST si le USER a un prenom composé IntPrenomComp = InStr (Prenom,"-") StrPNOM = Mid(Prenom,1,1) If IntPrenomComp <> 0 Then StrPNom = StrPNom & Mid(Prenom,IntprenomComp+1,1) StrPNOM = StrPNOM & Mid(NOM,1) Else StrPNOM = StrPNOM & Mid(NOM,1) End If Set ObjFichier = OFSO.DeleteFile("C:\temp\configOutlook.prf") Set ObjFichier = OFSO.CreateTextFile("C:\temp\configOutlook.prf") 'StrInstPST = MsgBox ("Voulez vous créer un fichier sur le disque dur pour stockage des mails?",4,"Installation du PST ") 'If StrInstPST = "6" Then 'OUI a la création d'un PST ' StrPNOM = StrPNOM & ".pst" repertoire=OFSO.createfolder("d:\mailsStock\") 'StrLocalPST = MsgBox ("Voulez vous parametrer la remise de vos mails sur le disque dur ?",4,"Installation du PST ") 'End If 'création du PRF fichier="\\ NOM_DU_SERVEUR\CHEMIN\modeleprf.txt" Set FichModel = OFSO.OpenTextFile(Fichier) Do Until FichModel.AtEndOfStream StrLecturePrf = FichModel.ReadLine Select Case StrLecturePrf Case "ProfileName=" : ObjFichier.WriteLine (StrLecturePrf & prenom & " " & nom) 'Case ";DefaultStore" : 'If StrLocalPST ="6" Then ' ObjFichier.WriteLine ("DefaultStore=Service2") 'End If Case "MailboxName=" : ObjFichier.WriteLine (StrLecturePrf & mail) 'Case "ServiceEGS=Exchange Global Section" 'If StrInstPST = "6" Then 'Oui à la remise sur PST ' ObjFichier.writeblanklines(1) ' ObjFichier.WriteLine ("Service2=Personal Folders") ' ObjFichier.WriteLine (StrLecturePrf) 'end If 'Case ";[Service2]": 'If StrInstPST = "6" Then 'Oui à la remise sur PST ' ObjFichier.WriteLine (StrLecturePrf) ' ObjFichier.WriteLine ("[Service2]") ' Objfichier.writeline ("UniqueService=No") ' Objfichier.writeline("Name=Mails Disque Dur") ' Objfichier.writeline("PathToPersonalFolders=d:\mailsStock\" & StrPNOM) ' Objfichier.writeline("EncryptionType=0x40000000") 'End If Case Else ObjFichier.WriteLine (StrLecturePrf) End Select Loop Set OProcess = OShell.Environment("Process") OShell.run "c:\temp\configOutlook.prf" OShell.SendKeys (enter) WScript.Sleep (10000)
End If End If End If
'Fermeture de l'objet connexion OConnexion.Close
|