निःशुल्क उपकरणों के साथ आउटलुक हस्ताक्षरों की तैनाती करें - कैसे

निःशुल्क उपकरणों के साथ आउटलुक हस्ताक्षरों की तैनाती करें

हमें सभी उपयोगकर्ताओं के लिए एक सामान्य हस्ताक्षर तैनात करने की आवश्यकता है। मेल सर्वर ऑटो को एक सिग्नेचर के साथ रखना हमें पसंद नहीं है। इसलिए संदेश की रचना करते समय हस्ताक्षर आउटलुक में होना चाहिए। हमने खुद को लागू करने के लिए सभी को एक प्रति भेजने की कोशिश की लेकिन उसने इसे नहीं काटा। हमें शून्य उपयोगकर्ता सहभागिता के साथ इसे करने का एक स्वचालित तरीका चाहिए था।

मुझे कार्यों को पूरा करने के लिए भुगतान के लिए 3-पार्टी टूल का उपयोग करना पसंद नहीं है - कम से कम पहले खुद को करने की कोशिश किए बिना नहीं। इसलिए मैंने कुछ स्क्रिप्ट लिखने के बारे में सेट किया है। मैं पिछले एक साल से इस विधि को कर रहा हूं - और कोड बहुत सारे संशोधनों से गुजरा है। मेरे पास यहां मेरे मूल कोड के आकार का 1/4 है। इसके बारे में सोचना भी शर्मनाक है। :)

यह विधि एक टेम्पलेट हस्ताक्षर लेती है, AD से उपयुक्त उपयोगकर्ता डेटा में भरती है, एक नेटवर्क शेयर पर अनुकूलित हस्ताक्षरों को रखती है, और फिर एक स्थानीय उपयोगकर्ता स्क्रिप्ट हस्ताक्षर को सिंक करने के लिए चलाता है और इसे Outlook में डिफ़ॉल्ट रूप से सेट करता है।

कुल 7 चरण

चरण 1: आउटलुक में टेम्पलेट को डिज़ाइन करें

Outlook में हस्ताक्षर बनाएं ताकि आपके पास काम करने के लिए एक टेम्पलेट हो। एक टेक्स्ट टेम्प्लेट भी बनाएं ताकि जब टेक्स्ट ईमेल का उत्तर दिया जाए तब भी एक हस्ताक्षर हो।

हस्ताक्षर को एक विशिष्ट नाम दें। हम "muc_signature" का उपयोग करते हैं।

चरण 2: हस्ताक्षर फ़ोल्डर का निर्माण करें जो भी सर्वर हस्ताक्षर करेंगे

मेरा मानना ​​है कि आउटलुक स्टोर के अधिकांश संस्करण यहां हस्ताक्षर करते हैं:

C: Users उपयोगकर्ता नाम AppData रोमिंग Microsoft हस्ताक्षर

मान लें कि आपका टेम्प्लेट हस्ताक्षर एकमात्र हस्ताक्षर है, आगे बढ़ें और उस हस्ताक्षर फ़ोल्डर की सामग्री को _template सबफ़ोल्डर (नीचे देखें) के सर्वर की प्रतिलिपि बनाएँ जो हस्ताक्षर का निर्माण / तैनाती करेगा।

सर्वर पर मेरे द्वारा उपयोग की जाने वाली फ़ोल्डर संरचना है:

C: Users व्यवस्थापक दस्तावेज UserSignatures

उस फ़ोल्डर के अंदर मेरे पास दो सबफ़ोल्डर हैं जैसे:

c: users admin दस्तावेज UserSignatures _build (जहां स्क्रिप्ट और कमांड लाइन उपयोगिताओं का निर्माण होगा)
c: users admin दस्तावेज UserSignatures _template (जहां हस्ताक्षर टेम्पलेट संग्रहीत है)

निम्न फ़ोल्डर स्वचालित रूप से बिल्ड स्क्रिप्ट द्वारा बनाए जाते हैं:

C: Users व्यवस्थापक दस्तावेज UserSignatures USERNAME1
C: Users व्यवस्थापक दस्तावेज UserSignatures USERNAME2
C: Users व्यवस्थापक दस्तावेज UserSignatures UsernameETC

चरण 3: htm, rtf और txt फ़ाइलों को संपादित करें

टेम्प्लेट की प्रत्येक फ़ाइल को एक सादे टेक्स्ट एडिटर में खोलें और उन विशेष फ़ील्ड्स को स्वैप करें जो प्रत्येक उपयोगकर्ता के लिए अद्वितीय हैं। उदाहरण के लिए कर्मचारी का नाम इस तरह बदलें:

जॉन डो

हो जाता है

---- नाम ----

नेटवर्क व्यवस्थापक

हो जाता है

---- शीर्षक ----

बाकी सब कुछ वैसे ही छोड़ दें जैसा कि (यही कारण है कि एक सादे पाठ संपादक का उपयोग करना महत्वपूर्ण है)। आप पाठ के एक प्रतिस्थापन के लिए एक कर रहे हैं।

इन प्लेसहोल्डर्स का उपयोग बिल्डिंग स्क्रिप्ट द्वारा खोज करने के लिए किया जाएगा और विज्ञापन से जानकारी (या आपके पास जो भी स्रोत हो) से प्रतिस्थापित किया जाएगा।

ऊपर के क्षेत्रों के अलावा हम ---- dept ----, ---- ext ----, और ---- फ़ैक्स ---- का भी उपयोग करते हैं क्योंकि ये हमारे लिए केवल उपयोगकर्ता-अद्वितीय चीजें हैं हस्ताक्षर। आपके पास कम या ज्यादा हो सकता है।

चरण 4: स्क्रिप्ट क्या करते हैं

बिल्ड स्क्रिप्ट में उपयोग किए जाने वाले दो अतिरिक्त कमांड लाइन उपकरण हैं। एक को joeware.net से ADfind.exe कहा जाता है:

http://www.joeware.net/freetools/tools/adfind/

और दूसरा एक vbscript है जिसे मैंने "mungey" लिखा है जिसे मैं अगले चरणों में कोड पोस्ट करूंगा।

अनिवार्य रूप से स्क्रिप्ट पहले यह देखने के लिए जांच करती है कि क्या आपने उपयोगकर्ता नाम निर्दिष्ट किया है:

उपयोगकर्ता नाम बनाएँ

यदि ऐसा है तो यह केवल उस विशिष्ट उपयोगकर्ता के लिए एक हस्ताक्षर का निर्माण करेगा। यदि कोई उपयोगकर्ता नाम निर्दिष्ट नहीं है, तो यह सभी उपयोगकर्ताओं को एक टेलीफ़ोन नंबर के साथ दिखेगा (हम इस फ़ील्ड का उपयोग उपयोगकर्ताओं के एक्सटेंशन नंबर के लिए करते हैं) और उनके लिए एक हस्ताक्षर बनाते हैं।

इसे केवल उन उपयोगकर्ताओं के लिए प्रतिबंधित किया जाता है, जिनके पास टेलिफोन नंबर है, जो गैर-ईमेल खातों के लिए हस्ताक्षर किए जाने से रोकता है।

स्क्रिप्ट उपयोगकर्ता के लिए सभी प्रासंगिक जानकारी को हथियाने के लिए adfind.exe का उपयोग करती है और उन्हें temp.txt नामक सीएसवी फ़ाइल में रखती है।

फिर स्क्रिप्ट प्रत्येक लाइन की temp.txt के माध्यम से लूप करती है। प्रत्येक पंक्ति में यह उपयोगकर्ता नाम के आधार पर एक फ़ोल्डर में _template फ़ोल्डर की सामग्री की प्रतिलिपि बनाता है। यह तब एक खोज करने के लिए mungey.vbs चलाता है और प्रत्येक हस्ताक्षर फ़ाइलों पर प्रत्येक विशेष क्षेत्र को प्रतिस्थापित करता है। वहां से यह अगली पंक्ति में तब तक चलता है जब तक यह फ़ाइल के अंत तक नहीं पहुंच जाता।

उस बिंदु पर स्क्रिप्ट एक नेटवर्क साझा करने के लिए सभी हस्ताक्षरित फ़ाइलों को कॉपी करती है - हमारे मामले में sysvol में एक सबफ़ोल्डर।

चरण 5: बिल्ड स्क्रिप्ट

यह बैच फ़ाइल ही है। इसे c: users admin documents UserSignatures _build build.bat पर संग्रहीत किया जाता है

---------- कोड शुरू
प्रतिध्वनि

यदि "% 1" == "" एडेंसेन -csvdelim; -Dfault -f "& (objectcategory = person) (ऑब्जेक्टक्लास = उपयोगकर्ता) (telephonenumber = *)" डिस्प्लेनाम शीर्षक विभाग के टेलीफोननंबर facsimileTelephoneNumber sAMAccountName -csv> temp.txt
यदि "% 1" == "" नहीं है, तो एडसेन -csvdelim; -Dfault -f "& (objectcategory = person) (ऑब्जेक्टक्लास = उपयोगकर्ता) (sAMAccountName =% 1)" प्रदर्शननाम शीर्षक विभाग के टेलीफोननेटरी फेसलिफ्टटेलेफोननंबर sAMAccountName -csv> temp.txt

for / f "स्किप = 1 डेलिम्स =; टोकन = 2-7" %% A इन (temp.txt) कॉल करें: loop1 %% A %% B %% C %% C %% D %% E %% F

robocopy .. .. UserSignatures domainname.com sysvol domainname.com utils Signatures / xd _ * / r: 0 / w: 0 / mir

गोटो: ईओएफ

: loop1
सीडी .. _

सेट नाम = ""
सेट शीर्षक = ""
सेट विभाग = ""
ext = ""
फ़ैक्स सेट करें = ""
un = "" सेट करें
सेट नाम =% 1
सेट शीर्षक =% 2
सेट विभाग =% 3
सेट ext =% 4
फ़ैक्स =% ५ पर सेट करें
un =% 6 सेट करें

रॉबोकॉपी _template% un% हस्ताक्षरों / मीर

cd% un% _ हस्ताक्षर
cscript .. _ _ build mungey.vbs muc_signature.htm ---- नाम ----%% नाम%
cscript .. _ _ build mungey.vbs muc_signature.htm ---- शीर्षक ----% शीर्षक%
cscript .. _ _ build mungey.vbs muc_signature.htm ---- dept ----% de%
cscript .. _ _ build mungey.vbs muc_signature.htm ---- ext ----% ext%
cscript .. _ _ build mungey.vbs muc_signature.htm ---- फ़ैक्स ----% फ़ैक्स%

cscript .. _ _ build mungey.vbs muc_signature.rtf ---- नाम ----%%%
cscript .. _ _ build mungey.vbs muc_signature.rtf ---- शीर्षक ----% शीर्षक%
cscript .. _ _ build mungey.vbs muc_signature.rtf ---- dept ----%%
cscript .. _ _ build mungey.vbs muc_signature.rtf ---- ext ----%% ext
cscript .. _ _ build mungey.vbs muc_signature.rtf ---- फ़ैक्स ----% फ़ैक्स%

cscript .. _ _ build mungey.vbs muc_signature.txt ---- नाम ----%%%
cscript .. _ _ build mungey.vbs muc_signature.txt ---- शीर्षक ----% शीर्षक%
cscript .. _ _ build mungey.vbs muc_signature.txt ---- dept ----% dept%
cscript .. _ _ build mungey.vbs muc_signature.txt ---- ext ----% ext%
cscript .. _ _ build mungey.vbs muc_signature.txt ---- फैक्स ----% फैक्स%

सीडी .. _ _ बिल्ड
---------- कोड एंड

चरण 6: मुंजे.वीबीएस

वर्षों पहले मुझे एक खोज करने और पाठ फ़ाइलों के लोड पर बदलने की आवश्यकता थी और वाक्यांश काफी यादृच्छिक थे। तो "उस स्क्रिप्टिंग आदमी" की मदद से मैंने यह कोड ऑफ़ कोड यहाँ लिखा। यह बहुत सीधा है।

---------- कोड शुरू
कॉन्स्ट फोर्डिंग = 1
कॉन्स्ट फ़ॉर वाइटिंग = 2

अगले पर त्रुटि फिर से शुरू

strFileName = Wscript.Arguments (0)
strOldText = Wscript.Arguments (1)
strNewText = Wscript.Arguments (2)

ObjFSO सेट करें = CreateObject ("Scripting.FileSystemObject")
ObjFile सेट करें = objFSO.OpenTextFile (strFileName, ForReading)

strText = objFile.ReadAll
objFile.Close
strNewText = बदलें (strText, strOldText, strNewText)

ObjFile सेट करें = objFSO.OpenTextFile (strFileName, ForWriting)
objFile.WriteLine strNewText
objFile.Close
---------- कोड एंड

चरण 7: GPO परिनियोजन स्क्रिप्ट

यह बैच फ़ाइल है जिसे मैं GPO द्वारा निर्धारित कार्य के माध्यम से बाहर धकेलता हूं। यह वर्तमान में उपयोगकर्ता में लॉग इन के रूप में चलता है। यह सुबह 7 बजे से शाम 5 बजे के बीच लॉगऑन और हर X नंबर मिनट पर चलता है। मैं ऐसा करता हूं कि अगर कोई वास्तव में जिद्दी हो जाता है और हस्ताक्षर फाइलों के साथ गड़बड़ करता है।

यह स्क्रिप्ट पहले जांचती है कि क्या उपयोगकर्ता नाम "सीएसआर" है, जो हमारे लिए ईमेल नहीं है। यह बहुत सारे कंप्यूटरों पर एक सामान्य साझा खाता है और स्क्रिप्ट को चलाने का कोई मतलब नहीं है अगर वह विशेष उपयोगकर्ता एक लॉगिंग है। कभी-कभी अन्य उपयोगकर्ता इन कंप्यूटरों में लॉग इन करते हैं, इसलिए मैं केवल कंप्यूटर से स्क्रिप्ट को बाहर नहीं कर सकता ( या शायद मैं कर सकता हूँ - इस बिंदु पर मेरे लिए कोई फर्क नहीं पड़ता)।

इसके बाद स्क्रिप्ट नेटवर्क शेयर से उपयोगकर्ताओं के हस्ताक्षर की प्रतिलिपि बनाती है।

फिर स्थापित आउटलुक के संस्करण के आधार पर यह दो रजिस्ट्री कुंजियों को सेट करता है जो परिभाषित करते हैं कि आउटलुक का उपयोग क्या हस्ताक्षर करना चाहिए।

इन कुंजियों के साथ आउटलुक उपयोगकर्ता को हस्ताक्षर संपादित करने का विकल्प नहीं देता है। यदि वे वास्तव में इसे बदलना चाहते हैं तो उन्हें मैन्युअल रूप से फ़ाइलों को ब्राउज़ और संपादित करना होगा। कुछ लोगों ने ऐसा किया है जिसके कारण मेरे पास यह स्क्रिप्ट पूरे दिन चलती है।

---------- कोड एंड
प्रतिध्वनि
अगर% उपयोगकर्ता नाम% == सीएसआर गोटो: किया गया

यदि मौजूद नहीं है domainname.com sysvol domainname.com utils Signils \% उपयोगकर्ता नाम% हस्ताक्षर गोटो: eof
robocopy domainname.com sysvol domainname.com utils Signils \% उपयोगकर्ता नाम% _ हस्ताक्षर% appdata% Microsoft हस्ताक्षर / r: 0 / w: 0 / mir

सेट ver = 1
यदि मौजूद "C: Program Files (x86) Microsoft Office Office14" सेट ver = 14
यदि "C: Program Files (x86) Microsoft Office Office15" सेट वर् = 15 मौजूद है
यदि "C: Program Files (x86) Microsoft Office Office16" सेट ver = 16 मौजूद है
अगर% ver% == 1 गोटो: किया गया

reg जोड़ें "HKEY_CURRENT_USER SOFTWARE Microsoft Office \% ver% .0 Common MailSettings" / v NewSignature / t REG_EXPAND_SZ / d muc_signature / f
reg "HKEY_CURRENT_USER SOFTWARE Microsoft Office \% ver% .0 Common MailSettings" जोड़ें / v उत्तर दें / हस्ताक्षर REG_EXPAND_SZ / d muc_signature / f

:किया हुआ
---------- कोड एंड

मुझे पता है कि यह बिल्कुल सुरुचिपूर्ण नहीं है, लेकिन यह मुफ़्त है और हमारे लिए काम करता है। मुझे यकीन है कि कई सारे ट्विक्स हैं जो कोड को धीमा कर सकते हैं और शायद adfind.exe और mungey.vbs जैसी अन्य उपयोगिताओं की आवश्यकता नहीं है, लेकिन मुझे यहां जो मिला है, मैं संतुष्ट हूं। :)

मुझे लगता है कि यह किसी के लिए भी काम करना चाहिए जो कि कोड में आवश्यक कुछ ही मामूली समायोजन के साथ विंडोज एडी नेटवर्क पर है। मुख्य रूप से फ़ोल्डर स्थान।

यह आउटलुक 2010-2016 के साथ काम करता है, और विन 7 पर - विन 10. मुझे आशा है कि कुछ लोग इसे उपयोगी पाएंगे।