Автоматическое создание подписи в Microsoft Outlook 2016/Office 365
Поступило задание проработать возможность централизованного создания пользовательских подписей в Outlook на основе данных из их учетных записей в Active Directory и так же запрета пользователям задавать свои подписи.
В сети есть много разных примеров скриптов как это можно реализовать, различной степени годности, но мне привычней реализовать задачу так как в первую очередь удобней мне. Поэтому я решил написать утилиту с использованием WinAPI Windows для формирования подписи на основе шаблона и с возможностью удобной модификацией шаблонов и используемых пользовательских данных из AD.
В состав утилиты входят:
- Шаблоны подписы из 3х файлов в форматах
htm(HTML),rtf(Rich Text) иtxt(Plain Text). - Файл настроек
settings.txt, в котором прописаны ключи и значения для шаблонов. - Сама утилита
outlook_signature.exe.
В файлах шаблона указываются переменных которые будут заменены на полученные данные из пользовательской учетной записи AD. Переменные по умолчанию указываются в значении заключенном в знаки % - %USERNAME%.
Пример как должен выглядить шаблон:
Regards,
%USERNAME%
%POSITION%
%DEPARTMENT%signature с файлами расширения txt, rtf, htm.В файле настроек settings.txt указываются ключи и переменные к ним, под ключами понимается указание названия аттрибутуов из учетной записи AD. Переменные к ключам задаются произвольные, главное чтобы они были четко отличимы от обычных слова, к примеру можно указывать как %USERNAME%, так и @USERNAME. Главное что какие переменные мы указали в файле настроек, такие же мы и должны использовать в файлах шаблонов, для замены их на значения ключей в ходе работы утилиты.
Пример как должен выглядить файл настроек:
displayName=%USERNAME%
Title=%POSITION%
Department=%DEPARTMENT%
mail=%EMAIL%
streetAddress=%ADDRESS%
telephoneNumber=%TEL%Работа утилиты заключается следующих шагах:
- Определяется текущий залогиненный пользователь в системе.
- Считываются настройки.
- Получаются все значения пользовательских аттрибутов из файла настроек.
- Формирование шаблонов подписи на основе полученных данных.
- Размещение шаблонов в пользовательском профиле (
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Signatures). - Создание в реестре (
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\MailSettings) записей на использование сформированного шаблона.
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Signatures очищается перед размещением в нее сформированного шаблона подписи и задании его по умолчанию.Как это все распространять в доменной среде по пользователям !? Делается все это через Group Policy Object.
Размещаем утилиту с файлом настрое и шаблонами в — \\contoso.local\NETLOGON\OutlookSignature. Создаем групповую политику User Configuration - Policies - Administrative Templates - System - Logon и в параметре Run these programs at user logon указываем путь к запуску утилиты.
Нацеливаем политику на пользователей и все, далее при входе пользователя в систему будет формироваться подпись в Outlook.
Так же если запустить утилиту из cmd, то можно посмотреть ее выполнение:
UPD.
В случае если к примеру для кого либо пользователя необходимо отменить решение по подписи в Outlook, то необходимо руками зачищать в реестре два значения.
В HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\MailSettings необходимо удалить два значения NewSignature и ReplySignature.
Перезапускаем Outlook. После этого пользователю будет разблокирована возможность создание желаемой подписи.
Либо можно просто запустить утилиту которая это сделает сама. Т.е. удали выше описанные ключи и перезапустит Outlook в случае если он был открыт. Утилита поможет если нужно будет массово отменить решение по автоматическим подписям.
Скачать “Outlook Signature Remover” osr.zip – Загружено 568 раз – 244,72 КБПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ


Антивирус говорит, что Вы положили туда, что то очень плохое.
Ничего там нет, я такой ерундой не занимаюсь.