Скрипт vbs дали коллеги, который я допилил под нужды своей организации.
Небольшое пояснение, внутри отделов могут быть подразделения,
подразделение заносится в extensionAttribute3 у пользователя.
Есть телефон автосекретарь(с возможностью переключения на внутренний номер сотрудника),
в скрипте он указан в виде +7 ХХХ 200-00-00
Телефон отдела +7 ХХХ 200-00-02
Вешаем скрипт в групповых политиках на логон
в итоге выглядит подпись вот так
---------------
С уважением,
Иван Иванович Горбунков
Системный инженер
Информационный центр
Компания «Рога и копыта»
Холдинг ЛТДТел.: +7 ХХХ 200-00-00
Тел.: +7 ХХХ 200-00-02, доб. 1313
КСТС: (8080) 1313
www.roga-kopyta.com
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
strRegard = "С уважением,"
strDivision = "Холдинг ЛТД"
strName = objUser.Name 'FullName 'Получаем полное имя
strName = Replace(strName,"CN=","")
a = Split(strName)
strName = a(1)+" "+a(2)+" "+a(0)
strTitle = objUser.Title 'Должность
strAttr3 = objUser.extensionAttribute3 'Атрибут3 для записи подразделения в отделе(если есть)
strDepartment = objUser.Department 'Отдел
strCompany = objUser.Company 'Компания
tempExt = objUser.telephoneNumber 'Номер телефона КСТС
strOU=objUser.DistinguishedName 'OU
a = Split(tempExt) 'Дальше процедура выделения из корпоративного номера добавочного и обработка ошибок
if a(0) = "" Then 'Нет пробела в номере
a0=tempExt
a1=""
else
a0=a(0)
a1=a(1)
end if
b = left(tempExt,3)
' wscript.echo "tempExt=" & tempExt & ", left 3 (b)=" & b
' wscript.echo " a0= " & a0 & ", a1= " & a1
if b = "(80" Then
if (a1<>"") Then
strKSTS = tempExt 'Номер правильно делится на добавочный и корпоративный
strExtention = a1 'Добавочный номер телефона
' wscript.echo "1. strKSTS=" & strKSTS & ", strExtention=" & strExtention
Else 'Номер не делится, пишем и в добавочный и в корпоративный
strKSTS = tempExt
strExtention = a0 'Добавочный номер телефона
' wscript.echo "2. strKSTS=" & strKSTS & ", strExtention=" & strExtention
end if
Else 'Номер только добавочный, корпоративного нет
strKSTS = ""
strExtention = a0 'Добавочный номер телефона
' wscript.echo "3. strKSTS=" & strKSTS & ", strExtention=" & strExtention
end if
iBoss=InStr(strOU,",OU=Руководство,") 'Определяем, находится ли сотрудник в OU Руководство
' wscript.echo strOU & ", вхождение подстроки= " & iBoss
if iBoss<>0 Then
strExtention="" 'Для OU Руководство убираем добавочный номер
end if
strPhone = objUser.otherTelephone 'Городской номер телефона
strMobile = objUser.mobile 'Сотовый
strWeb = objuser.wWWHomePage 'WEB страница
'strLogo = "\\domain.corp\NETLOGON\company-logo.gif" 'Логотип организации (опционально)
'--------------------------------------------------------------------------
'Русская подпись в формате Word (должен быть установлен на рабочей станции)
'--------------------------------------------------------------------------
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"
objSelection.Font.Bold = false
objSelection.ParagraphFormat.Space1
'--Вставка текста с переводом строки
'--"С уважением,"
objSelection.TypeText strRegard
objSelection.TypeText CHR(11)
'--Имя пользователя
objSelection.Font.Bold = true
objSelection.TypeText strName
objSelection.TypeText CHR(11)
objSelection.Font.Bold = false
'--Должность
objSelection.TypeText CHR(11)
objSelection.TypeText strTitle
objSelection.TypeText CHR(11)
'--Подразделение отдела
if strAttr3 <> "" Then
objSelection.TypeText strAttr3
end if
'--Отдел-Верхний уровень, если не начальник
if strDepartment <> "" THEN
objSelection.TypeText strDepartment
objSelection.TypeText CHR(11)
end if
'--Компания
objSelection.TypeText strCompany
objSelection.TypeText CHR(11)
'--Дивизион
objSelection.Font.Bold = true
objSelection.TypeText strDivision
objSelection.TypeText CHR(11)
objSelection.Font.Bold = false
'--Телефон
if iBoss=0 Then
objSelection.TypeText "Тел.: " & strPhone
objSelection.TypeText CHR(11)
objSelection.TypeText "Тел.: " & "+7 ХХХ 200-00-00" & ", доб. " & strExtention
else
objSelection.TypeText "Тел.: " & strPhone 'Для OU Руководство добавочный не пишем
end if
objSelection.TypeText CHR(11)
'--Корпоративный номер, если есть
if strKSTS <> "" Then
objSelection.TypeText "КСТС: " & strKSTS
objSelection.TypeText CHR(11)
end if
'--Мобильный, если есть
if strMobile <> "" THEN
objSelection.TypeText "Моб.: " & strMobile
objSelection.TypeText CHR(11)
end if
'--Сайт
objSelection.Hyperlinks.Add objSelection.Range, strWeb, "", "", strWeb
'objSelection.TypeText CHR(11)
'--Логотип
'objSelection.InlineShapes.AddPicture(strLogo)
Set objSelection = objDoc.Range()
objSignatureEntries.Add "VF Signature", objSelection
objSignatureObject.NewMessageSignature = "Corp Signature"
objSignatureObject.ReplyMessageSignature = "Corp Signature"
objDoc.Saved = True
objDoc.Close
objWord.Quit
Для тех у кого не применилась подпись автоматически назначаем через реестр
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Setup]
"First-Run"=-
[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\MailSettings]
"NewSignature"="Corp Signature"
"ReplySignature"="Corp Signature"