Etat du script: Fonctionnel
Présentation:
Le script:
'Deploiement signature Outlook locale et normalisée avec les données des attributs AD '20111013 by Clockover Function GetUserDN(BYVAL UN, BYVAL DN) Set ObjTrans = CreateObject("NameTranslate") objTrans.init 1, DN objTrans.set 3, DN & "\" & UN strUserDN = objTrans.Get(1) GetUserDN = strUserDN End Function Set objUser = CreateObject("WScript.Network") userName = objUser.UserName domainName = objUser.UserDomain Set objLDAPUser = GetObject("LDAP://" & GetUserDN(userName,domainName)) 'Préparation à la création des fichiers de signature Dim objFSO, objWsh, appDataPath, pathToCopyTo, plainTextFile, plainTextFilePath, richTextFile, richTextFilePath, htmlFile, htmlFilePath Set objFSO = CreateObject("Scripting.FileSystemObject") Set objWsh = CreateObject("WScript.Shell") appDataPath = objWsh.ExpandEnvironmentStrings("%APPDATA%") pathToCopyTo = appDataPath & "\Microsoft\Signatures\" regPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\00000003" 'Chemin vers la ruche registre définissant la signautre par défaut 'Suppression des signatures pré-existantes objFSO.DeleteFile(pathToCopyTo & "\*.*") 'Création du fichier .txt plainTextFilePath = pathToCopyTo & "Default.txt" Set plainTextFile = objFSO.CreateTextFile(plainTextFilePath, TRUE) plainTextFile.WriteLine(objLDAPUser.DisplayName) plainTextFile.WriteLine(objLDAPUser.title) plainTextFile.WriteLine(objLDAPUser.company) plainTextFile.WriteLine(objLDAPUser.streetAddress) plainTextFile.WriteLine("Tel: " & objLDAPUser.telephoneNumber) plainTextFile.WriteLine("GSM : " & objLDAPUser.mobile) plainTextFile.WriteLine("Fax : " & objLDAPUser.facsimileTelephoneNumber) plainTextFile.WriteLine("Email : " & objLDAPUser.mail) plainTextFile.WriteLine("Web :") plainTextFile.Close 'Création du fichier .rtf richTextFilePath = pathToCopyTo & "Default.rtf" Set richTextFile = objFSO.CreateTextFile(richTextFilePath, TRUE) richTextFile.WriteLine("{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi31507\deflang1036\deflangfe1036\themelang1036\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;}") richTextFile.WriteLine("\par \hich\af31506\dbch\af31505\loch\f31506 Tel\~:\~\~\~\~\~\~\~\~\~\~\~\~\~" & objLDAPUser.telephoneNumber & "}{\rtlch\fcs1 \af31507\afs16 \ltrch\fcs0 \fs16\cf18\lang1033\langfe1036\langnp1033\insrsid4004981") richTextFile.WriteLine("\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;") richTextFile.Close 'Création du fichier .html htmlFilePath = pathToCopyTo & "Default.htm" Set htmlFile = objFSO.CreateTextFile(htmlFilePath, TRUE) htmlfile.WriteLine("< html xmlns:o=""urn:schemas-microsoft-com:office:office"" ") htmlfile.WriteLine("mso-ansi-language:EN-US'>" & objLDAPUser.title) htmlfile.close '====================================================================== Modification registre 'Mettre la nouvelle signature par défaut 'Modification du chemin contenant la signature dans la base de registre basée sur la version d'outlook Const HKEY_CURRENT_USER = &H80000001 Set objRegistry = GetObject("Winmgmts:root\default:StdRegProv") uBinary = Array(&H44, &H00, &H65, &H00, &H66, &H00, &H61, &H00, &H75, &H00, &H6C, &H00, &H74, &H00, &H00, &H00) Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, regPath, "New Signature", uBinary) Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, regPath, "Reply-Forward Signature", uBinary)
TODO Liste:
-Vide
Historique:
Version 0.1 (2011/10/13)
-Création du script.
Page générée en 0.005 secondes