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.006 secondes