इस लेख में हम दिखाएंगे कि सक्रिय निर्देशिका के डेटा के आधार पर आउटलुक 2010/2013 में स्वचालित रूप से उपयोगकर्ता हस्ताक्षर कैसे बनाया जाए। निम्नलिखित परिदृश्य पर विचार किया जाएगा:पहली बार जब कोई नया डोमेन उपयोगकर्ता कार्य केंद्र पर लॉग ऑन होता है, तो पावरशेल स्क्रिप्ट स्वचालित रूप से एक आउटलुक उपयोगकर्ता हस्ताक्षर फ़ाइल उत्पन्न करती है, जिसकी संपर्क जानकारी सक्रिय निर्देशिका से प्राप्त होती है।
इस स्क्रिप्ट के सही ढंग से काम करने के लिए, यह आवश्यक है कि AD में सभी उपयोगकर्ता सभी आवश्यक विशेषताओं से भरे हों। इस उदाहरण में, हम उपयोगकर्ता के हस्ताक्षर में निम्नलिखित सक्रिय निर्देशिका विशेषताओं का उपयोग करेंगे:
- पूर्ण उपयोगकर्ता नाम (मेरे मामले में, ये डेटा विवरण विशेषता में संग्रहीत हैं)
- स्थिति (शीर्षक)
- कंपनी का नाम (कंपनी)
- डाक कोड, शहर और पता (डाक कोड, शहर, सड़क का पता)
- फ़ोन नंबर (ऑफ़िसफ़ोन)
- ई-मेल (मेल)
- वेबसाइट (मुखपृष्ठ)
आपको htm . में आउटलुक के लिए सिग्नेचर टेम्प्लेट के साथ 3 फाइलें बनाने की जरूरत है (एचटीएमएल), आरटीएफ (रिच टेक्स्ट) और txt (सादा पाठ) प्रारूप। इन फ़ाइलों में डिज़ाइन, सामग्री और हस्ताक्षर टेम्प्लेट की उपस्थिति को कॉर्पोरेट ई-मेल हस्ताक्षर नीति की आवश्यकताओं का पालन करना होगा।
फ़ाइल बनाएँ signature.htm निम्नलिखित HTML कोड युक्त:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head></head>
<body>
<div id style="font-family:Arial&;color:#5B9BD5;">
<span style="font-size:10pt;color:#000000;">
<b><p>Best Regards</p>
<p>@NAME</p> </span>
<span style="font-size:9.0pt;">
<p> </p>
<p>@DESCRIPTION</p>
<p>@COMPANY</p></b>
<p> </p></span>
<span style="font-size:8.0pt;">
<p> @POSTALCODE, @CITY, @STREETADDRESS</p>
<p> Phone.@OFFICEPHONE</p>
<p> <a href="https://@WEBSITE">@WEBSITE</a></p>
<p>e-mail:<a href="mailto:@EMAIL">@EMAIL</a></span>
</div>
</body>
</html>
signature.rtf . की सामग्री और signature.txt फ़ाइलें इस प्रकार होनी चाहिए:
Best Regards,
@NAME
@DESCRIPTION
@COMPANY
@POSTALCODE, @CITY, @STREETADDRESS
Phone. @OFFICEPHONE
e-mail:@EMAIL
site:@WEBSITE
फ़ोल्डर बनाएँ OutlookSignature सी:\उपयोगकर्ता\सार्वजनिक\डाउनलोड . में आउटलुक के लिए सिग्नेचर टेम्प्लेट और कंप्यूटर यूजर्स के सिग्नेचर स्टोर करने के लिए। C:\Users\Public\Downloads\OutlookSignature में एक सबफ़ोल्डर बनाएं टेम्पलेट्स और उसमें सिग्नेचर टेम्प्लेट वाली तीन फाइलें कॉपी करें। आप इसे मैन्युअल रूप से या समूह नीति वरीयताएँ (GPP) का उपयोग करके कर सकते हैं।
एक नई फ़ाइल बनाएँ outlooksignature.ps1 निम्नलिखित पावरशेल कोड के साथ (मैं कोड के प्रत्येक ब्लॉक का संक्षिप्त विवरण दूंगा)
चर के सेट का निर्धारण करें। $User वैरिएबल में उस उपयोगकर्ता का नाम होता है, जिसके खाते से स्क्रिप्ट चलाई जाती है। फ़ाइलों के नाम और एक्सटेंशन के साथ-साथ अन्य चरों में उनके लिए पथ निर्दिष्ट करें।
$User = $env:UserName
$FileName = "signature"
$FileExtension = "htm","rtf","txt"
$Path = "C:\Users\Public\Downloads"
$PathSignature = "$Path\OutlookSignature"
$PathSignatureTemplates = "$Path\OutlookSignature\Templates"
$PathSignatureUser = "$PathSignature\$User"
$AppSignatures =$env:APPDATA + "\Microsoft\Signatures"
AD तक पहुँचने के लिए PowerShell मॉड्यूल आयात करें। Get-ADUser cmdlet का उपयोग करते हुए, आपको आवश्यक सक्रिय निर्देशिका में उपयोगकर्ता विशेषताओं के मान प्राप्त करें और उन्हें $AD_user ऑब्जेक्ट में सहेजें।
नोट . विंडोज 7 में Get-ADUser cmdlet को काम करने के लिए आपके कंप्यूटर पर RSAT इंस्टॉल करना होगा। घटक Windows PowerShell के लिए सक्रिय निर्देशिका मॉड्यूल भी सक्षम होना चाहिए (कंट्रोल पैनल -> प्रोग्राम्स और फीचर्स -> विंडोज फीचर्स चालू/बंद करें -> रिमोट सर्वर एडमिनिस्ट्रेशन टूल्स -> रोल एडमिनिस्ट्रेशन टूल्स -> एडी डीएस और एडी एलडीएस टूल्स।
Import-module activedirectory
$AD_user = Get-ADUser $User -Properties Title,Company,Description,Fax,HomePage,Mail,OfficePhone,PostalCode,City,StreetAddress
उपयोगकर्ता हस्ताक्षर फ़ाइलों को संग्रहीत करने के लिए एक फ़ोल्डर बनाएँ और उसमें टेम्पलेट कॉपी करें:
New-Item -Path "$PathSignature\$User" -ItemType Container –Force
foreach ($Ext in $FileExtension)
{
Copy-Item -Force "$PathSignatureTemplates\$FileName.$Ext" "$PathSignatureUser\$FileName.$Ext"
}
फिर बदलें . का उपयोग करके फ़ीचर, टेम्प्लेट में डेटा को AD के उपयोगकर्ता डेटा से बदलें:
foreach ($Ext in $FileExtension)
{
(Get-Content "$PathSignatureUser\$FileName.$Ext") | Foreach-Object {
$_`
-replace "@NAME", $AD_user.Description `
-replace "@DESCRIPTION", $AD_user.title `
-replace "@COMPANY", $AD_user.Company `
-replace "@STREETADDRESS", $AD_user.StreetAddress `
-replace "@POSTALCODE", $AD_user.PostalCode `
-replace "@CITY", $AD_user.City `
-replace "@OFFICEPHONE", $AD_user.OfficePhone `
-replace "@EMAIL", $AD_user.Mail `
-replace "@WEBSITE", $AD_user.Homepage `
} | Set-Content "$PathSignatureUser\$FileName.$Ext"
}
अब आपको सिग्नेचर टेम्प्लेट वाली फाइलों को उस फोल्डर में कॉपी करना है, जिसमें आउटलुक 2010/2013/2016 सिग्नेचर स्टोर करता है - %APPDATA%\Microsoft\Signatures (C:\Users\username\AppData\Roaming\Microsoft\Signatures)।
foreach ($Ext in $FileExtension)
{
Copy-Item -Force "$PathSignatureUser\$FileName.$Ext" "$AppSignatures\$User.$Ext"
write-host "$PathSignatureUser\$FileName.$Ext"
write-host "$AppSignatures\$User.$Ext"
}
शुरू होने पर Outlook को इन फ़ाइलों को हस्ताक्षर टेम्पलेट्स के साथ उपयोग करने के लिए, निम्न कार्य करें:
- हटाएं फर्स्ट-रन HKEY_CURRENT_USER\Software\Microsoft\Office\
\Outlook\Setup
से मान - HKEY_CURRENT_USER\Software\Microsoft\Office\
\Common\MailSettings में NewSignature नामों के साथ दो स्ट्रिंग मान बनाएं और उत्तर हस्ताक्षर , जिसमें टेम्प्लेट का नाम और हस्ताक्षर होंगे (हमारे मामले में टेम्प्लेट का नाम AD खाते के नाम के समान है)
विभिन्न एमएस ऑफिस संस्करणों में काम करने के लिए, आपको यह कोड जोड़ना होगा:
#Office 2010
If (Test-Path HKCU:'\Software\Microsoft\Office\14.0') {
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Office\14.0\Outlook\Setup -Name First-Run -Force -ErrorAction SilentlyContinue -Verbose
New-ItemProperty HKCU:'\Software\Microsoft\Office\14.0\Common\MailSettings' -Name 'ReplySignature' -Value $User -PropertyType 'String' -Force
New-ItemProperty HKCU:'\Software\Microsoft\Office\14.0\Common\MailSettings' -Name 'NewSignature' -Value $User -PropertyType 'String' -Force
}
#Office 2013
If (Test-Path HKCU:'\Software\Microsoft\Office\15.0') {
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Outlook\Setup -Name First-Run -Force -ErrorAction SilentlyContinue -Verbose
New-ItemProperty HKCU:'\Software\Microsoft\Office\15.0\Common\MailSettings' -Name 'ReplySignature' -Value $User -PropertyType 'String' -Force
New-ItemProperty HKCU:'\Software\Microsoft\Office\15.0\Common\MailSettings' -Name 'NewSignature' -Value $User -PropertyType 'String' -Force
}
जब कोई उपयोगकर्ता सिस्टम में लॉग इन करता है तो समूह नीति प्राथमिकताओं का उपयोग करके इस पावरशेल स्क्रिप्ट को एक बार चलाने के लिए बनाएं। नतीजतन, आउटलुक आउटगोइंग ई-मेल के लिए हमारे द्वारा बनाए गए हस्ताक्षर का उपयोग करेगा। लेख की पहली छवि इस हस्ताक्षर का एक नमूना दिखाती है।
कुछ टिप्स
- यदि आउटलुक लाइनों के बीच बड़े (दोहरे) रिक्त स्थान के साथ एचटीएम हस्ताक्षर प्रदर्शित करता है, तो यह आउटलुक बग है। आउटलुक में एक एचटीएम हस्ताक्षर बनाना बेहतर है, और इसे टेम्पलेट के रूप में उपयोग करें (%APPDATA%\Microsoft\Signatures में संग्रहीत)
- आप सक्रिय निर्देशिका के थंबनेलफ़ोटो विशेषता से हस्ताक्षर में एक उपयोगकर्ता फ़ोटो भी जोड़ सकते हैं। चूंकि आउटलुक सिग्नेचर में इमेज जोड़ने का कोई आसान तरीका नहीं है, जैसा कि ऊपर दिए गए आइटम में है, आउटलुक में किसी भी इमेज वाला सिग्नेचर टेम्प्लेट बनाना और पावरशेल स्क्रिप्ट में टेम्प्लेट फोल्डर में इमेज फाइल को कॉपी करके कॉपी करना बेहतर है। (छवि %AppData%\Microsoft\Signatures\
.files में संग्रहीत है )। - Exchange 2007 और उच्चतर में, आप परिवहन नियमों का उपयोग करके सभी ईमेल में सम्मिलित सरलतम हस्ताक्षर बना सकते हैं