Одна из задач, с которой приходится сталкиваться администраторам почтовой системы Microsoft Exchange, это с установкой автоответа или статуса Out of Office для сотрудников, которые по разным причинам отсутствуют в офисе, а сообщение об отсутствии (в русском Outlook он называется «Заместитель») не установили. Не установить статус об отсутствии пользователи могут по разным причинам, но наиболее распространенная: ушли в отпуск/на больничный, а удаленного доступа к почте нет, при этом доступа к OWA снаружи сети тоже нет (например, запрещено политикой безопасности организации). Также подобные сообщения иногда просят выставить для уволившихся сотрудников.
В этом случае администраторы могут установить себе права на почтовый ящик пользователя и установить Out of Office вручную, но это занимает достаточно продолжительное время. Наиболее быстрый способ выставить Out of Office для сотрудника, это воспользоваться PowerShell командлетом:
Set-MailboxAutoReplyConfiguration
В случае явного указания текста сообщения, сообщение будет отправляться простым однострочным сообщением, например:
Set-MailboxAutoReplyConfiguration -Identity TestUser2 -InternalMessage "Уважаемые коллеги, с 1 по 13 августа нахожусь в отпуске. По всем вопросам прошу обращаться к моему руководителю" -ExternalMessage "Уважаемые коллеги, с 1 по 13 августа нахожусь в отпуске. По всем вопросам прошу обращаться к моему руководителю" -AutoReplyState Enable -StartTime "8/01/2018 9:00:00" -EndTime "08/13/2018 19:00:00"
Многих такой автоответ устраивает, однако, есть сотрудники, которые желают, чтобы автоответ указывался многострочным и с форматированием. В этом случае, текст сообщения для Out of Office необходимо указывать в формате HTML, то есть автоответ вида:
Добрый день, уважаемые коллеги!
В период с 1 по 13 августа нахожусь в отпуске, доступ к электронной почте ограничен.
По срочным согласованиям в системе электронного документаоборота просьба писать Сидорову Ивану Петровичу.Благодарю.
С уважением, Мария
Потребуется записать так:
Добрый день, уважаемые коллеги!
В период с 1 по 13 августа нахожусь в отпуске, доступ к электронной почте ограничен.
По срочным согласованиям в системе электронного документооборота просьба писать Сидорову Ивану Петровичу.
Благодарю.
С уважением, Мария
Чтобы размер команды был не слишком длинным для понимания, лучше полученную строку записывать в переменную, и в одну строку:
$reply = "
Добрый день, уважаемые коллеги!
В период с 1 по 13 августа нахожусь в отпуске, доступ к электронной почте ограничен.
По срочным согласованиям в системе электронного документаоборота просьба писать Сидорову Ивану Петровичу.
Благодарю.
С уважением, Мария
"
и передаем в качестве параметра для командлета: Set-MailboxAutoReplyConfiguration
Set-MailboxAutoReplyConfiguration -Identity testuser2 -InternalMessage $reply -ExternalMessage $reply -AutoReplyState Enable -StartTime "8/01/2018 9:00:00" -EndTime "08/13/2018 19:00:00"
Подобное сообщение выглядит привлекательнее, а также позволяет выполнять гибкое форматирование.