Автоматическое создание и подстановка подписи в Outlook 2003/2007 на основе данных AD.

Долгое время я искал решение для автоматизации создания подписи пользователей в Outlook по корпоративному стандарту. Хотя имеется и регламент, и инструкции для пользователей по созданию подписи, далеко не все обременяют себя её созданием, а в случае, если пользователи часто перемещаются с компьютера на компьютер, про нее вообще часто забывают 🙁

Просмотрев большое количество имеющихся решений, как правило на базе скриптов VBS, я остановился на одном из них, который, доработав, хочу предложить вашему вниманию. Данный скрипт берет данные текущего пользователя из AD и создает электронную подпись в соответствии с заданными параметрами. В случае, если некоторые поля в свойствах пользователя не заполнены, информация не отображается.  Для удобства редактирования подписи в зависимости от вашего стандарта, я привел подробные комментарии в теле скрипта. С моими настройками подпись имеет вид:
sign
Сам скрипт:
On Error Resume NextSet objSysInfo = CreateObject("ADSystemInfo")strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)strRegard = "С уважением,"
'Получаем полное имя
strName = objUser.FullName
'Должность
strTitle = objUser.Title
'Подразделение
strDepartment = objUser.Department
'Компания
strCompany = objUser.Company
'Номер телефона
strPhone = objUser.telephoneNumber
'Сотовый
strMobile = objUser.mobile
'Факс
strFax = objuser.facsimileTelephoneNumber
'IP-телефон, у себя не использую, так как внутренний номер дописываю в поле основного телефона
'strIntPhone = objuser.ipPhone
'Получаем почтовый индекс
strPostIndex = ObjUser.postalCode
'Город
strCity = objuser.l
'Улица
strStreet = objuser.streetAddress
'адрес электронной почты
strEmail = objuser.mail
'WEB страница
strWeb = objuser.wWWHomePage
'Логотип организации
'strLogo = "\\domain.corp\NETLOGON\company-logo.gif"

Set objWord = CreateObject(«Word.Application»)
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries

‘Задаем настройки шрифта
‘Шрифт
objSelection.Font.Name = «Arial»
‘Размер
objSelection.Font.Size = «10»
‘Цвет, можно указывать в десятичном или RGB формате, тогда: RGB(0, 55, 110)
objSelection.Font.Color = -738164481
‘Формат
objSelection.ParagraphFormat.Space1

objSelection.TypeText strRegard
objSelection.TypeText CHR(11)
‘Вставляем полное имя
objSelection.TypeText strName
objSelection.TypeText CHR(11)
‘Должность
objSelection.TypeText strTitle
objSelection.TypeText CHR(11)
‘Подразделение
objSelection.TypeText strDepartment
objSelection.TypeText CHR(11)
‘Компанию
objSelection.TypeText strCompany
objSelection.TypeText CHR(11)
‘Уменьшаем размер шрифта для адреса
objSelection.Font.Size = «9»
‘Почтовый адрес
objSelection.TypeText strPostIndex & «, г. » & strCity & «, » & strStreet
objSelection.TypeText CHR(11)
‘Телефон
objSelection.TypeText «Тел. » & strPhone ‘ доб. & strIntPhone
objSelection.TypeText CHR(11)
‘Сотовый
objSelection.TypeText «Моб. » & strMobile
objSelection.TypeText CHR(11)
‘Факс
objSelection.TypeText «Факс » & strFax
objSelection.TypeText CHR(11)
‘Изменяем цвет для адреса электронной почты и сайта
objselection.font.color = RGB(0, 0, 255)
‘Вставляем адрес почты
objSelection.Hyperlinks.Add objSelection.range, «mailto:» & strEmail, , , strEmail
objSelection.TypeText CHR(11)
‘корпоративный сайт
objSelection.Hyperlinks.Add objSelection.Range, strWeb, «», «», strWeb
‘objSelection.TypeText CHR(11)
‘логотип компании
‘objSelection.InlineShapes.AddPicture(strLogo)

Set objSelection = objDoc.Range()

objSignatureEntries.Add «Company Signature», objSelection
objSignatureObject.NewMessageSignature = «Company Signature»
objSignatureObject.ReplyMessageSignature = «Company Signature»

objDoc.Saved = True
objDoc.Close
objWord.Quit
Сохраните скрипт в файл с расширением vbs и назначьте его выполнение с помощью GPO  в разделе пользователя.

 

Теперь у каждого из доменных пользователей (ну или у тех, на кого распространяется политика), при создании или пересылке сообщения будет использоваться стандартная корпоративная подпись. Отработка скрипта занимает около 2-х секунд и не сильно влияет на время логона пользователя.

Комментарии ( 24 )

  1. Все отлично, только бы поподробнее.

    • Zihuatanejo87
      says:

      комментарии на mcp.su видимо считаются излишними?

    • Zihuatanejo87
      says:

      а куда делись комменты, которые я тут, на mcp.su видел неделю назад — все потерли?

    • Kvazar
      says:

      Комменты я не тру, только спам. В чем проблема? Какие комменты Вы имеете в виду?

  2. Uffie
    says:

    А у Вас есть другие сайты?

  3. kvazar
    says:

    Нет, я полагаю, что и этого достаточно, тем более последнее время и на него с трудом нахожу время 🙁

  4. joni
    says:

    Эта шняга неработает. Синтаксическая ошибка в первойже строки

  5. joni
    says:

    Скрипт выполняется но подписи нет. ошибок нет. как узнать от чего не пашет?

    • kvazar
      says:

      В Outlook в настройках появилась подпись? Попробуйте сначала запустить скрипт вручную на своей рабочей станции

  6. joni
    says:

    пробывал на мышке появляются часики типо скрипт срабатывает но изменений никаких нет. ошибок тоже не выдает. как еще проверить можно?

    • kvazar
      says:

      Какой стоит Word, Outlook? Какая система? Дело в том, что для создания подписи, как видно из скрипта, используется Word. Он у вас вообще стоит?
      P.S. Если затираете название домена, затирайте уж везде 🙂

  7. joni
    says:

    )))) Ага баг. ну не суть.
    Да стоит но стоит 2007 это как то помешать может?

  8. Иван
    says:

    Подскажите, а как его переделать на OpenOffice?

    • Kvazar
      says:

      Что вы имеете в виду? В OpenOffice, насколько мне известно, нет почтового клиента.

  9. Алекs
    says:

    Посоветуйте как сделать чтобы у некоторых пользователей были разные логотипы? Согласно 1 скрипту.

    • Kvazar
      says:

      Можно попробовать через конструкцию if

  10. Evgeny
    says:

    Всё в скрипте хорошо, но не могу понять почему он картинку не желает брать по адресу \\domain\netlogon\image.jpg
    и по http://www.site.ru/sign/image.jpg
    может подскажешь?

    • Evgeny
      says:

      со своим вопросом разобрался)
      невнимательность и торопливость — причина.
      Раскоментировать надо было всего лишь!

  11. Banberry
    says:

    Хороший скрипт, только похоже будет запускаться каждый раз при логоне.
    Подскажите как проверить, что подпись с именем «Company Signature» уже существует, и добавлять ничего не надо?

  12. Улыбайся:))
    says:

    Куда этот скрипт вставлять?

  13. Иван
    says:

    А этот скрипт будет отрабатывать для Office 2010?

  14. Pingback: delaem podpis v Outlook | admgsg

  15. Woot
    says:

    Доброе время суток. всё отлично скрипт рабочий.
    проблема :
    у половины пользователей нет моб телефона.
    остаётся пустая строка. как командами «If» приспособить если есть телефон то его вешать , если его нет то не делать и не оставлять пустую строку.?

Добавить комментарий

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены знаком *

3 × 2 =

Яндекс.Метрика