2024. március 19., kedd

Gyorskeresés

Outlook signature deployment

Írta: | Kulcsszavak: AD . active directory . outlook . signature . aláírás

[ ÚJ BEJEGYZÉS ]

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.

Hozzászólások

(#1) Stanlee


Stanlee
őstag

koszi, igaz nalunk nem tudok ilyesmit beallitani, de nem rossz, ha automatizalt az alairas. Mindig herotom van, amikor egy kiallitas miatt uj vagy regi alairast kell kesziteni.

“Never run after a bus or a stock. Just be patient – the next one will come along for sure.” - André Kostolany

(#2) IO.sys


IO.sys
őstag

Wow szuper! Nálunk nincs AD, lesz, de még nincs, viszont az egységes aláírás és a központi managelhetőség igény volt. Írtam egy ps scriptet, ami minden win login után lefut, kiolvassa az Exchangeről a felhasználó adatait és legenerálja a html-t, rtf-et és txt-t, amiket az Outlook aláírásként tart számon. Ezzel elértem, hogy egy telefonszámváltozás 1 rebootba kerüljön a felhasználónál.
A szépséghibája az, hogy minden gépindításkor bejelentkezik a script az Exchange-re admin accounttal (kulcsban tárolja a jelszót, de attól még csúnya), és minden bejelentkezéskor megtörténik minden gépről minden nap, az esetek 99,9999%-ában feleslegesen. De műxik. :DDD

Egyébként ha telepíthetővé teszed és varázslóba rendezed a beállításokat, simán eladhatod olcsóbban a konkurenciáknál, van rá igény.

[ Szerkesztve ]

凸_(ツ)_/¯ // -Valamit kiírt a gép!... -Az a dolga!...

(#3) marositech


marositech
senior tag

Kicsit bosszankodom, ezt a cikket miért nem tudom lementeni?

Megvan. :DDD

[ Szerkesztve ]

Olyat rádverek...hogy megkulázol! :)

(#4) zone válasza IO.sys (#2) üzenetére


zone
őstag

Ennek a scriptnek annyi hibája van, hogy nem írja felül a létrehozott .htm fájlt, így ha a képeken kívül mást is változtatnának, akkor vagy egy újabb GP beállítás kell vagy egy teljesen új aláírás kitelepítése, esetleg megoldható a scripten belül. Ennek a beállításával és tesztelésével már nem volt kedvem tovább tökölni. :)

[ Szerkesztve ]

YouTube - https://goo.gl/bCKFYP

(#5) total90


total90
veterán

... és az miért nem játszik, hogy a felhasználók megkapják az új aláírást és azt szépen Outlookba lementik, majd minden új E-Mail írásakor megjelenik? Vagy a "Signature"-ba lementeni és gyorsbillentyűre rakni.
Ez nekem ilyen ágyúval a verébre téma :DDD

Ha nincs jó, ló a szamár is.

(#6) Stanlee válasza total90 (#5) üzenetére


Stanlee
őstag

Nekem herotom van az oszi-teli idoszakban, amikor havonta 1-2 kiallitasra megy a ceg es mindig az eppen aktualisat kuldik meg, hogy rakjuk be, aztan meg vegyuk ki. Ha eppen uton vagyok akkor tobbnyire ahogy jott oyan gyorsan el is felejtem, torlom ezt a levelet, es igy nem "aktualis" az alairasom. Most ha erre van egy megoldas, akkor miert ne.

“Never run after a bus or a stock. Just be patient – the next one will come along for sure.” - André Kostolany

(#7) total90 válasza Stanlee (#6) üzenetére


total90
veterán

Nekem nem esik nehezemre az a 2-3 klikk :P
Nálunk ez egyébként is necces lenne, mert kismillió részleg van és azon belül is van többféle funkcióban alkalmazott. Szóval az alapot mindenki kapja és utána az részlegtől függően az aktuális flyert.
Szerencsére az én pozíciómban ez nincs, vagy csak nagyon ritkán... de akiknek többször kell, azok sem panaszkodtak.

Ha nincs jó, ló a szamár is.

(#8) Stanlee válasza total90 (#7) üzenetére


Stanlee
őstag

Tudom, ez ilyen first world problem. Ez majdnem olyan, hogy az Avis azert nem veszi at automatikusan az ADAC oldalan foglalt autohoz az adatokat, mert valakinek az IT oldalon ezt meg kellene oldania, igy mindig egyenkent begepelgetik az adataimat, habar be vagyok regisztralva naluk es minden adatom friss. Evi egyszeri foglalaskor ez nem szamit, de nekem volt ugy hogy hetente 2 alkalommal is lement ez a procedura es a mai vilagban ha valami automatizalhato, akkor legyen automata. Nekem is meg az ugyintezonek is megtakarit par percet, eves szinten akar egy orat is.

“Never run after a bus or a stock. Just be patient – the next one will come along for sure.” - André Kostolany

(#9) zone válasza total90 (#5) üzenetére


zone
őstag

Már egyszer szét lett küldve, hogy az aláírást másolják ki az enyémből és hogy Message menu > Signature végül Ctrl+V. Csak át kellett volna írni az adatokat. Nem nagy cég, de kb. 20-30% képtelen volt rá, vagy nem foglalkozott vele.

Ma is az egyik vezető egy olyan levelemre válaszolva írt egy kérdést, amiben épp azt írtam le hogyan lehet a konferenciatelefonnal prezentálni a tévére Skype-on át. Három egyszerű lépés: a tárgyaló email címének felvétele Skype kontaktént, chat ablak megnyitása, asztal megosztása. Nem sikerült neki, mert USB kábellel akart hozzá csatlakozni. :W

[ Szerkesztve ]

YouTube - https://goo.gl/bCKFYP

(#10) IO.sys válasza zone (#9) üzenetére


IO.sys
őstag

20-30% képtelen volt rá, vagy nem foglalkozott vele
Nálunk ez 90%, ráadásul elvárják, hogy én csináljam, mert én vagyok az informatikus. Felhasználói feladatokat, amiket emberként meg kéne tudni csinálni, beletöszkölik a beosztásomba, mert azért vagyok... Az a 13 szerver meg nem azért megy, mert azt csinálom, csak be van dugva és csak úgy megy biztos...! Párszor tartottam oktatást a hétköznapi alapokról (fájlméret, miért annyi, kiterjesztés, csatolmány mentés), erre a felnőtt emberek nekiálltak valamit játszani, akinek meg a legjobban szüksége lett volna a tudásra, vagy nem volt ott, vagy úgy nézett rám, mintha kvantummechanikáról beszélnék. És ők MINDEN NAP 8+ ÓRÁBAN a gép előtt ülve keresik a kenyerüket. Tragédia!

Az aláírás nálunk egyforma és ezen belül is minden patent kell legyen (beosztás, kontakt adatok), mert sok függ tőle, rendelet is szabályozza. Ha a felhasználókra várnék és nem automatizáltam volna, már nem dolgoznék ott. :DDD

凸_(ツ)_/¯ // -Valamit kiírt a gép!... -Az a dolga!...

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.