Скрипт 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"
Комментариев нет:
Отправить комментарий