
В следующем месяце мы перейдем на Office 365 и сейчас занимаемся доработкой некоторых небольших проблем, связанных с Exchange Online.
Последняя проблема, которую я пытаюсь решить, — это внедрение логотипа нашей организации в сообщения автоответчика об отсутствии на работе.такжекак использование текста в формате HTML (обычный текст был бы проще, но это не то, что нам нужно). Этот процесс должен включать PowerShell в сочетании с модулем Windows Azure Active Directory, поскольку вставка изображений напрямую в Outlook Web App не работает.
В настоящее время мне удаётся заставить изображение появиться, но когда я пытаюсь вставить отформатированный HTML-текст в интерфейс Outlook Web App (после того, как логотип заработал), что-то ломается, и логотип больше не отображается в автоматических ответах (хотя текст, по крайней мере, отображается с HTML-форматированием, что обнадеживает).
Вот команда PowerShell, которую я использую:
Set-MailboxAutoReplyConfiguration support@(ourdomain).ca -AutoReplyState Enabled -ExternalMessage "TEXT <html><body><img src = http://(ourlogo).png></body></html>" -InternalMessage "TEXT <html><body><img src = http://(ourlogo).png></body></html>"
Я могу добавить простой текст там, где написано "ТЕКСТ", и он будет отлично отображаться вместе с нашим логотипом. К сожалению, я не могу получить нашHTML-форматированныйтекст должен отображаться, не мешая при этом отображению логотипа.
Я пробовал вручную редактировать сообщение об отсутствии на работе (включив текст после импорта логотипа с помощью PowerShell), но логотип перестает отображаться после внесения существенных ручных правок в сообщение в Outlook Web App. Похоже, мне нужно загрузить весь контент (текст + адрес логотипа) напрямую из PowerShell для достижения наилучших результатов.
Итак, мой вопрос: может ли кто-нибудь подсказать, как мне изменить приведенную выше команду PowerShell, чтобы HTML-теги в тексте принимались PowerShell и загружались?
Ниже представлен текст в формате HTML. Я не могу понять, как вставить его в PowerShell, не получив ошибку:
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>User Name</span></p>
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>User Title</span></p>
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>Organization Name</span></p>
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>Organization Address</span></p>
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>City, Postcode</span></p>
<p class=MsoNormal><b><span style='font-size:12.0pt;color:#1F497D'>P</span></b><span
style='font-size:12.0pt;color:#1F497D'> (123) 456-7890 <b> F</b> (123) 456-7890</span></p>
<p class=MsoNormal><b><span style='font-size:12.0pt;color:#1F497D'>E</span></b><span
style='font-size:12.0pt;color:#1F497D'> </span><span style='color:#1F497D'><a
href="mailto:support@(ourdomain).ca"><span style='font-size:12.0pt'>support@(ourdomain).ca</span></a></span></p>
<p class=MsoNormal><b><span style='font-size:12.0pt;color:#1F497D'>W</span></b><span
style='font-size:12.0pt;color:#1F497D'> </span><span style='color:#1F497D'><a
href="http://www.(ourdomain).ca/"><span style='font-size:12.0pt'>http://www.(ourdomain).ca</span></a></span></p>
решение1
Это (скорее всего) связано с тем, что HTML-код, который вы пытаетесь внедрить, содержит символы, которые необходимо экранировать при включении в обычную строку PowerShell.
Вместо этого вы можете использовать переменную иЗдесь-Строкадля определения блока буквального текста.
Итак, попробуйте это в скрипте .PS1:
$Msg = @"
<html>
<body>
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>User Name</span></p>
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>User Title</span></p>
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>Organization Name</span></p>
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>Organization Address</span></p>
<p class=MsoNormal><span style='font-size:12.0pt;color:#1F497D'>City, Postcode</span></p>
<p class=MsoNormal><b><span style='font-size:12.0pt;color:#1F497D'>P</span></b><span
style='font-size:12.0pt;color:#1F497D'> (123) 456-7890 <b> F</b> (123) 456-7890</span></p>
<p class=MsoNormal><b><span style='font-size:12.0pt;color:#1F497D'>E</span></b><span
style='font-size:12.0pt;color:#1F497D'> </span><span style='color:#1F497D'><a
href="mailto:support@(ourdomain).ca"><span style='font-size:12.0pt'>support@(ourdomain).ca</span></a></span></p>
<p class=MsoNormal><b><span style='font-size:12.0pt;color:#1F497D'>W</span></b><span
style='font-size:12.0pt;color:#1F497D'> </span><span style='color:#1F497D'><a
href="http://www.(ourdomain).ca/"><span style='font-size:12.0pt'>http://www.(ourdomain).ca</span></a></span></p>
</body>
</html>
"@
Set-MailboxAutoReplyConfiguration support@(ourdomain).ca -AutoReplyState Enabled -ExternalMessage $Msg -InternalMessage $Msg
Мне помогло использование Exchange 2010.