Автоматическое создание подписи в 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 – Загружено 249 раз – 244,72 КБПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.