Azt a feladatot kaptam, oldjam meg, hogy minden felhasználónak egységes aláírása legyen Outlookban. Természetesen léteznek fizetős megoldások, mint a CodeTwo és Exclaimer, de a cél az ingyenesség volt.
Az adatokat az AD fiókokból nyeri ki. Nem találtam sehol normális leírást, így több helyről összeszedett részletekből állítottam össze a megoldásom.
És ha már egyszer működik, gondoltam közzéteszem, hátha más is hasznát veszi.
Az aláírás felépítése:
Üdvözlet
Név
Beosztás
Tel.: 000000 (színes pötty) Mobile: 000000 (színes pötty) Em@il.com
Logo (kép, weboldal hivatkozással)
Follow us on: Linkedin, Twitter, YouTube (képek, hivatkozással)
Első lépésként kell egy .vbs script, ami generál egy htm fájlt az aláíráshoz, a főbb cserélhető részek ***-al vannak jelölve. Ez egy login scrip lesz (User Configuration > Policies > Windows Settings > Scripts > Logon), de természetesen ajánlott lokálisan tesztelni.
'Signature in Outlook
'Create objects
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FileSysObj = CreateObject("Scripting.FileSystemObject")
Set objADSysInfo = CreateObject("ADSystemInfo")
Set UserObj = GetObject("LDAP://" & objADSysInfo.UserName)
strAppData = WshShell.ExpandEnvironmentStrings("%APPDATA%")
SigFolder = StrAppData & "\Microsoft\Signatures\"
strQuteChr = chr(34)
strDotChr = chr(149)
SigFile = SigFolder & "***signaturename***" & ".htm"
'Check existence of signature folder
if not FileSysObj.FolderExists(SigFolder) then
FileSysObj.CreateFolder(SigFolder)
end if
if FileSysObj.FileExists(SigFile) then
Set objFile = FileSysObj.GetFile(SigFile)
datSigAlt = objFile.DateLastModified
intTimeDiff = DateDiff("n", datSigAlt, UserObj.whenChanged)
if intTimeDiff < 0 then wscript.Quit
end if
Set CreateSigFile = FileSysObj.CreateTextFile (SigFile, 8, False)
CreateSigFile.WriteLine "<!DOCTYPE HTML PUBLIC " & """-//W3C//DTD HTML 4.0 Transitional//EN""" & ">"
CreateSigFile.WriteLine "<HTML><HEAD><TITLE>Outlook Signature</TITLE>"
CreateSigFile.WriteLine "<META http-equiv=Content-Type content=" & """text/html; charset=windows-1252""" & ">"
CreateSigFile.WriteLine "<META content=" & """MSHTML 6.00.2900.3059""" & " name=GENERATOR></HEAD>"
CreateSigFile.WriteLine "<BODY>"
'Greeting
CreateSigFile.WriteLine "<DIV align=left><FONT face=Verdana size=2 color=#000000>" & "***greeting***" & "</FONT></DIV>"
'Add blank line
CreateSigFile.WriteLine "<DIV align=left><FONT face=Verdana size=2></FONT><br></DIV>"
'Get active directory data
'Username
CreateSigFile.WriteLine "<DIV align=left><FONT face=Verdana size=2 color=#000000><strong>" & UserObj.FirstName & " " & UserObj.LastName & "</strong></FONT></DIV>"
'Title
CreateSigFile.WriteLine "<DIV align=left><FONT face=Verdana size=2 color=#000000>" & UserObj.title & "</FONT></DIV>"
'Add blank line
CreateSigFile.WriteLine "<DIV align=left><FONT face=Verdana size=2></FONT><br></DIV>"
'Phone, email
CreateSigFile.WriteLine "<DIV align=left><FONT face=Verdana size=2 color=#000000>" & "Tel.: " & UserObj.telephoneNumber & "</FONT><FONT face=Verdana size=2 color=#808080><strong>" & " " & strDotChr & " " & "</strong></FONT>" & "<FONT face=Verdana size=2 color=#000000>" & "Mobile: " & UserObj.Mobile & "</FONT><FONT face=Verdana size=2 color=#808080><strong>" & " " & strDotChr & " " & "</strong>" & "<FONT face=Verdana size=2 color=#000000>" & UserObj.mail & "</FONT></DIV>"
'Logo with link
CreateSigFile.WriteLine "<a href=***http://yourwebsite***><img src=***signaturename***_files\***image1***.jpg></a>"
'Add blank line
CreateSigFile.WriteLine "<DIV align=left><FONT face=Verdana size=2></FONT><br></DIV>"
'Twitter Linkedin Youtube button
CreateSigFile.WriteLine "<DIV align=left><FONT face=Verdana color=#808080 size=2>" & "Follow us on: " & "<a href=https://twitter.com/***yourtwitter***><img src=***signaturename***_files\***image2***.jpg></a>" & " " & "<FONT face=Verdana color=#000000 size=2>" & "<a href=https://www.linkedin.com/company/***yourlinkedin***><img src=***signaturename***_files\***image3***.jpg></a>" & " " & "<FONT face=Verdana color=#000000 size=2>" & "<a href=https://www.youtube.com/channel/***youryoutube***><img src=***signaturename***_files\***image4***.jpg></a>" & "</FONT></DIV>"
CreateSigFile.WriteLine "</BODY></HTML>"
CreateSigFile.Close
A következő lépés egy .bat fájl, ami egy hálózati meghajtóról, vagy akár a DC-ről átmásolja a szükséges képeket. Ez is logon script lesz. Fontos, hogy a mappa "_files"-ra végződjön.
echo d | xcopy "\\***networkpath***\***signaturename***_files" "%AppData%\Microsoft\Signatures\***signaturename***_files\" /Y
Ezt a bat és a vbs fájlt a \\***yourdomain***\NETLOGON\ mappába célszerű elhelyezni.
Végül négy új registry elemet kell létrehozni (User Configuration > Preferences > Windows Settings > Registry > New Registry Item). Office 2016 szerepel a példában, értelemszerűen régebbi Outlook esetén nem 16.0 lesz az útvonal. Ja és itt is figyelni kell, hogy ugyanaz legyen az aláírás elnevezése, mint korábban. A negyedik elem útvonala más, mint az első háromé.
Action: Create
Hive: HKEY_CURRENT_USER
Path: Software\Microsoft\Office\16.0\Common\MailSettings\
Name: NewSignature
Type: REG_SZ
Data: ***signaturename***
Name: ReplySignature
Type: REG_SZ
Data: ***signaturename***
Name: DisableSignature
Type: REG_DWORD
Data: 0
Base: Decimal
Path: Software\Microsoft\Office\16.0\Outlook\Options\Mail
Name: Send Pictures With Document
Type: REG_DWORD
Data: 1
Base: Decimal
Ennyi.