Saturday, April 16, 2016

Dynamic signature for outlook in HTM, with LDAP data

Hello,

In your domain server (LDAP), there is information about every users
First name, Last name, cell phone number, job title etc.

This info can be used to generate a dynamic signature for outlook

This script will read LDAP information and generate a HTM file in the folder windows 7 and office use for signatures.

This was NOT tested in windows 7 sp1 with outlook 2013
(i just extracted some code from my main logon script, so i might have missed something)



'==================== dynamic-outlook-signature.vbs ====================

'=== network groups (pas le login) avec tous les CN, OU, DC
'=== object principaux
Set objshe    = WScript.CreateObject("WScript.Shell") '=== command line calls
Set objFSO    = wscript.CreateObject("Scripting.FileSystemObject") '=== file control, open, write etc)

Set objUser = CreateObject("ADSystemInfo") '=== user object from local computer
Set CurrentUser = GetObject("LDAP://" & objUser.UserName) '=== user object from domain server, ldap

useappdat = objShe.SpecialFolders.Item("appdata")     '=== application data folder
'''''''''''''''''''''''''''''''''''
' signature htm outlook
'''''''''''''''''''''''''''''''''''
'useappdat
filesign01 = useappdat & "\microsoft\signatures\signature dynamique.htm"
'=== open log file
Set objfilsign01 = objFso.OpenTextFile(filesign01, 2, true)
'=== html table with 4 columns
'=== column 1 = name
width01 = 150
'=== all ldap info http://ss64.com/vb/syntax-userinfo.html
uselna = lcase(currentuser.sn)         '=== last name
if len(uselna)>0 then
'=== uppercase first letter
uselna = replace(uselna,mid(uselna,1,1),chr(asc(mid(uselna,1,1))-32))
end if
usefna = lcase(currentuser.givenname)   '=== first name
if len(usefna)>0 then
usefna = replace(usefna,mid(usefna,1,1),chr(asc(mid(usefna,1,1))-32))
end if
titre01 = currentuser.title '=== job title: analyste programmeur technicien informatique
role01 = currentuser.company                        '=== directeur ou autre (pas la compagnie)
email01 = currentuser.mail
phone01 = currentuser.telephoneNumber
if usenam = "serge.fournier" then homephone01 = currentuser.homePhone
mobilephone01 = currentuser.otherMobile
'=== column 2 = a green vertical line
width02 = 10
'=== column 3 = the compagny logo
width03 = 100
'=== column 4 = confidential notice
width04 = 830
'=== table
widthtotal01 = width01 + width02 + width03 + width04

s = "<html>"
s = s & "<table border=0 width=" & widthtotal01 & ">"
s = s & "<tr>"
s = s & "<td width=" & width01 & ">"
s = s & "<font face=""arial"" size=1.5>"
s = s & "<center>" & vbcrlf

s = s & "<b>" & usefna & " " & uselna & "<br>" & titre01 & "<br></b>" & vbcrlf
if len(role01)>0 then s = s & role01 & "<br>"
if len(email01)>0 then s = s & email01 & "<br>" & vbcrlf
if len(phone01)>0 then s = s & phone01 & "<br>" & vbcrlf
if len(mobilephone01)>0 then s = s & mobilephone01 & "<br>" & vbcrlf
if len(homephone01)>0 then s = s & homephone01 & "<br>" & vbcrlf
s = s & "www.gemel.ca<br>" & vbcrlf
s = s & "</center>" & vbcrlf
s = s & "</font>" & vbcrlf
s = s & "</td>" & vbcrlf

'=== just a green line for separation (image)
s = s & "<td width=" & width02 & ">" & vbcrlf
s = s & "<img src=""http://gemel.ca/wp-content/uploads/2016/04/Capture.png"" alt=""Mountain View"" width=""3"" height=""100"">" & vbcrlf
s = s & "</td>" & vbcrlf
        '=== compagny logo from facebook
s = s & "<td width=" & width03 & ">" & vbcrlf
s = s & "<img src=""https://scontent-ord1-1.xx.fbcdn.net/hphotos-xlf1/v/t1.0-9/10502515_801846939859068_758613211923328072_n.jpg?oh=7971845e1caf024546f60f19bac58fe5&oe=5778AD92"" alt=""Mountain View"" width=""88"" height=""88"">" & vbcrlf
s = s & "</td>" & vbcrlf
s = s & "<td width=" & width04 & ">" & vbcrlf
s = s & "<font face=""arial"" size=1.1>" & vbcrlf
s = s & "<b><i>SOUS TOUTES RÉSERVES</i></b><br><b>Avis de confidentialité et de propriété intellectuelle</b> - La présente communication est confidentielle et transmise sous le sceau du secret professionnel. Si vous n’êtes pas le destinataire visé ou son mandataire chargé de lui transmettre cette communication, vous êtes par la présente avisé qu’il est expressément interdit d’en dévoiler la teneur, de la copier, de la distribuer ou de prendre quelque mesure fondée sur l’information qui y est contenue. Si vous avez reçu cette communication par erreur, veuillez nous en aviser immédiatement par téléphone ou par courriel et détruire ce courriel et toute pièce jointe. Le droit d'auteur sur le présent document électronique appartient à Gémel inc. et ses professionnels; ce document ne peut être transmis, téléchargé ou reproduit, sous aucune forme, imprimée ou électronique que ce soit, sans l'autorisation expresse écrite des titulaires du droit d'auteur." & vbcrlf
s = s & "</font>" & vbcrlf
s = s & "</td>" & vbcrlf
s = s & "</tr>" & vbcrlf
s = s & "</table>" & vbcrlf
s = s & "</html>" & vbcrlf

objfilsign01.WriteLine s
objfilsign01.close

No comments:

Post a Comment