Автоматическая подпись в Outlook с помощью Powershell и GPO

Доброго времени суток, коллеги!
В своём первом посте, я хотел бы затронуть проблему единообразия подписи в почтовом клиенте Outlook. Зачастую, в организации нет единого стандарта этой полезной детали, и я бы хотел предоставить на ваш суд, своё решение данной проблемы. Данное решение было сделано на основе этого скрипта. Вкратце о механизме работы скрипта: Скрипт выполняется с помощью GPO Logon Scripts. При выполнении скрипта, проверяется:

1. Наличие данной подписи
2. Актуальность таких атрибутов как:
а. email адрес
b. ФИО
c. Внутренний телефонный номер
d. Должность
e. Дата редактирования шаблона (MS Word файла)

Если все условия соблюдаются, то скрипт завершает работу, иначе — выполнится перезапись существующих файлов. Для проверки актуальности атрибутов, при выполнении скрипта, производится запись значений в ветку реестра(HKEY_CURRENT_USER\Software\$CompanyName).

Итак, процедура внедрения состоит из двух этапов:

1. Создание и настройка групповой политики
2. Редактирование Powershell скрипта и файла-шаблона

Создание и настройка групповой политики

1. Поменять политику выполнения Powershell скриптов:
(Computer Configuration\Administrative Templates\Windows Components\Windows PowerShell\Script Execution setting)
выставляем — Allow local scripts and remote signed scripts
2. Скопировать в "\\domain.name\SYSVOL\domain.name\Policies\{ID политики}\User\Scripts\Logon" папку и файл из архива. Имя папки должно соответствовать названию организации($CompanyName) из powershell скрипта
3. Вешаем наш скрипт на «Logon» через: (User Configuration\Windows Settings\Scripts (Logon/Logoff)). Обратите внимание, что линковать скрипт надо в закладке «PowerShell scripts»!
4.Необходимо, чтобы путь \\domain.name был в зоне IE «Местная интрасеть». Для этого можно воспользоваться GPP. По данной ссылке располагается подробная инструкция.

Редактирование Powershell скрипта и файла-шаблона

1. Открываем наш скрипт из папки "\\domain.name\SYSVOL\domain.name\Policies\{ID политики}\User\Scripts\Logon" и меняем переменные:
$CompanyName = ‘Имя Компании'
$SigSource = "\\domain.name\SYSVOL\domain.name\Policies\{ID политики}\User\Scripts\Logon\$CompanyName"
$ForceSignatureNew = '0' # если хотим принудительно назначать подпись в новых сообщениях
$ForceSignatureReplyForward = '0' # если хотим принудительно назначать подпись в ответных сообщениях

2. Переименовываем наш Word файл как значение переменной $CompanyName, и редактируем его содержимое. Также, обращаю внимание на то, что необходимо оставить пустую строку в конце подписи!(чтобы подпись не сливалась при ответах)

В завершении

На этом наверное и всё. Стоит отметить, что перед вводом GPO в производственную среду, необходимо заполнить/обновить у пользователей AD, все необходимые атрибуты.
Теги:
outlook,powershell,gpo

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.