Автоматическая подпись в Outlook
Модератор: Модераторы
Сообщений: 3
• Страница 1 из 1
К недавно обсуждаемой теме установки автоматической подписи в Outlook
Небольшофй скрипт, который через ГП при входе пользователя автоматически устанавливает ему подпись используя данные из АД
Установка подписи:
Используя значенеие extensionAttribute 3 (Exchange Advanced - Custom Attributes 3) устанавливаем пользователю подпись на нужном языке (данные в АД на нужном языке требуется прописать самим)
Основное требование название конфигурации Outlook: Exchange
скорее всего его можно получить автоматом, но просто не смотрел, это все таки пример, а 100% решение. Делалось из расчета автоматической установки офиса с настройкой Outlook на нужное имя конфигурации
Небольшофй скрипт, который через ГП при входе пользователя автоматически устанавливает ему подпись используя данные из АД
Установка подписи:
Используя значенеие extensionAttribute 3 (Exchange Advanced - Custom Attributes 3) устанавливаем пользователю подпись на нужном языке (данные в АД на нужном языке требуется прописать самим)
Основное требование название конфигурации Outlook: Exchange
скорее всего его можно получить автоматом, но просто не смотрел, это все таки пример, а 100% решение. Делалось из расчета автоматической установки офиса с настройкой Outlook на нужное имя конфигурации
Код |
Const APPLICATION_DATA = &H1a& Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(APPLICATION_DATA) Set objFolderItem = objFolder.Self On Error Resume Next ParentFolder = objFolderItem.Path &"\Microsoft" Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace(ParentFolder) objFolder.NewFolder "Signatures" On Error Resume Next Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(APPLICATION_DATA) Set objFolderItem = objFolder.Self 'Удаляем прошлую подпись не случай изменения ее пользователем ' при необходимости можно дать права на файлы подписи и убрать этот кусок Set objFSO = CreateObject("Scripting.FileSystemObject") objFSO.DeleteFile(objFolderItem.Path &"\Microsoft\Signatures\JetTravel.htm") On Error Resume Next objFSO.DeleteFile(objFolderItem.Path &"\Microsoft\Signatures\JetTravel.txt") On Error Resume Next objFSO.DeleteFile(objFolderItem.Path &"\Microsoft\Signatures\JetTravel.rtf") On Error Resume Next Const ForAppending = 8 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile (objFolderItem.Path &"\Microsoft\Signatures\JetTravel.htm", ForAppending, True)'ForWriting, True) Set WSHNetwork = CreateObject("WScript.Network") On Error Resume Next Path = WSHNetwork.UserName Set objSysInfo = CreateObject("ADSystemInfo") strUserDN = objSysInfo.UserName Set objUser = GetObject("LDAP://" & strUserDN) ' Быбираем язык устанавливаемой подписи 'Select Case objUser.Get("extensionAttribute3") ' Если Русский If objUser.extensionAttribute3 = "" Then 'Case "ru" For Each objUser in colUser objTextFile.WriteLine("<HTML><HEAD><META http-equiv=Content-Type content='text/html; charset=windows-1251'></HEAD><BODY><DIV align=Left><br><br>") Next For Each objUser in colUser objTextFile.WriteLine("<hr align='left' width='80%' size='1' noshade>") Next For Each objUser in colUser objTextFile.WriteLine("<font style='font-size:11px; font-family:Verdana, Arial, Helvetica, sans-serif'>С уважением, <br>") Next For Each objUser in colUser objTextFile.WriteLine("Организация: <b>" & """ & objUser.company & """ & "</b><br>") Next For Each objUser in colUser objTextFile.WriteLine(objUser.displayName & "<br>") Next If objUser.title = "" Then Else For Each objUser in colUser objTextFile.WriteLine(objUser.title & "<br>") Next End If For Each objUser in colUser objTextFile.WriteLine(objUser.l & ", " & objUser.streetAddress & "<br>") Next For Each objUser in colUser objTextFile.WriteLine("телефон: " & objUser.telephoneNumber & "<br>" ) Next If objUser.otherTelephone = "" Then Else For Each objUser in colUser objTextFile.WriteLine("внутренний: " & objUser.otherTelephone & "<br>") Next End If For Each objUser in colUser objTextFile.WriteLine("Факс: " & objUser.facsimileTelephoneNumber & "<br>") Next If objUser.mobile = "" Then Else For Each objUser in colUser objTextFile.WriteLine("моб: " & objUser.mobile & "<br>") Next End If If objUser.pager = "" Then Else For Each objUser in colUser objTextFile.WriteLine("ICQ: " & objUser.pager & "<br>") Next End If For Each objUser in colUser objTextFile.WriteLine("<A href='mailto:" & objUser.mail & "'>" & "mailto:" & objUser.mail & "</A><br>") Next For Each objUser in colUser objTextFile.WriteLine("<A href='http://" & objUser.wwwhomepage & "'>" & "http://" & objUser.wwwhomepage & "</A></font><br>") Next For Each objUser in colUser objTextFile.WriteLine("<br><table Width='100%' border='0' cellpadding='5' cellspacing='0' bgcolor='#006699'><tr>") Next For Each objUser in colUser objTextFile.WriteLine("<td align='center' valign='middle'><a href='http://www.jettravel.ru' style='text-decoration:none;'>") Next For Each objUser in colUser objTextFile.WriteLine("<b><font style='font-family:Verdana, Arial, Helvetica, sans-serif; color:#FFFFFF; font-Size:13px;'>Организация</font></b></a></td></tr></table>") Next For Each objUser in colUser objTextFile.WriteLine("</BODY></HTML>") Next ' Если Английский 'Case "en" Else For Each objUser in colUser objTextFile.WriteLine("<HTML><HEAD><META http-equiv=Content-Type content='text/html; charset=windows-1251'></HEAD><BODY><DIV align=Left><br><br>") Next For Each objUser in colUser objTextFile.WriteLine("<hr align='left' width='80%' size='1' noshade>") Next For Each objUser in colUser objTextFile.WriteLine("<font style='font-size:11px; font-family:Verdana, Arial, Helvetica, sans-serif'>Best regards, <br>") Next For Each objUser in colUser objTextFile.WriteLine("Сompany: <b>" & """ & objUser.company & """ & "</b><br>") Next For Each objUser in colUser objTextFile.WriteLine(objUser.displayName &"<br>") Next If objUser.title = "" Then Else For Each objUser in colUser objTextFile.WriteLine(objUser.title & "<br>") Next End If For Each objUser in colUser objTextFile.WriteLine(objUser.l & ", " & objUser.streetAddress & "<br>") Next For Each objUser in colUser objTextFile.WriteLine("tel: " & objUser.telephoneNumber & "<br>") Next If objUser.otherTelephone = "" Then Else For Each objUser in colUser objTextFile.WriteLine("internal: " & objUser.otherTelephone & "<br>") Next End If For Each objUser in colUser objTextFile.WriteLine("fax: " & objUser.facsimileTelephoneNumber & "<br>") Next If objUser.mobile = "" Then Else For Each objUser in colUser objTextFile.WriteLine("mobile: " & objUser.mobile & "<br>") Next End If If objUser.pager = "" Then Else For Each objUser in colUser objTextFile.WriteLine("ICQ: " & objUser.pager & "<br>") Next End If For Each objUser in colUser objTextFile.WriteLine("<A href='mailto:" & objUser.mail & "'>" & "mailto:" & objUser.mail & "</A><br>") Next For Each objUser in colUser objTextFile.WriteLine("<A href='http://" & objUser.wwwhomepage & "'>" & "http://" & objUser.wwwhomepage & "</A></font><br>") Next For Each objUser in colUser objTextFile.WriteLine("<br><table Width='100%' border='0' cellpadding='5' cellspacing='0' bgcolor='#006699'><tr>") Next For Each objUser in colUser objTextFile.WriteLine("<td align='center' valign='middle'><a href='http://www.jettravel.ru' style='text-decoration:none;'>") Next For Each objUser in colUser objTextFile.WriteLine("<b><font style='font-family:Verdana, Arial, Helvetica, sans-serif; color:#FFFFFF; font-Size:13px;'>Company</font></b></a></td></tr></table>") Next For Each objUser in colUser objTextFile.WriteLine("</BODY></HTML>") Next 'Case Else 'End Select End If objTextFile.Close 'Прописываем подпись в реестре Const HKEY_CURRENT_USER = &H80000001 strComputer = "." Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ strComputer & "\root\default:StdRegProv") strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Exchange\9375CFF0413111d3B88A00104B2A6676\00000001" strValueName = "New Signature" aValueData = Array(&H4a,&H00,&H65,&H00,&H74,&H00,&H54,&H00,&H72,&H00,&H61,&H00,&H76,&H00,&H65,&H00,&H6c,&H00,&H00,&H00) oReg.SetBinaryValue HKEY_CURRENT_USER,strKeyPath,strValueName,aValueData [/code] Правильно заданный вопрос - это уже половина ответа.
Получается так:
С уважением, Организация: "NetworkDoc.Ru" Чистов Андрей Владимирович Руководитель проекта Строка адреса телефон: +7 (495) ххххххх внутренний: ххх Факс: +7 (4хх) ххххххх моб: 8 ххх хххххххх ICQ: хххххх mailto:user@domen.ru http://www.networkdoc.ru снизу синяя полоса с названием организации Все строчки в коде можно отформатировать под нужный корпоративный шрифт, цвет и размер. Для определённых полей типа ICQ задано что если не указано в АД строка убирается Правильно заданный вопрос - это уже половина ответа.
Сообщений: 3
• Страница 1 из 1
Кто сейчас на конференцииСейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11 |