当将此 HTML 输入 PowerShell 时,应如何格式化此 HTML?

当将此 HTML 输入 PowerShell 时,应如何格式化此 HTML?

我们将于下个月迁移到 Office 365,并且正在对一些与 Exchange Online 相关的小问题进行微调。

我要解决的最后一个问题是将我们组织的徽标嵌入到我们外出自动回复的消息中,以及因为使用 HTML 格式的文本(纯文本很容易,但这不是我们想要的)。此过程必须涉及 PowerShell 以及 Windows Azure Active Directory 模块,因为将图像直接粘贴到 Outlook Web App 中不起作用。

目前,我可以让图像显示出来,但是当我尝试在 Outlook Web App 界面中插入格式化的 HTML 文本时(在徽标工作之后),它会破坏某些内容并且徽标不再出现在自动响应中(尽管文本至少显示为 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>&nbsp;&nbsp;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>&nbsp;&nbsp;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 来工作。

相关内容