我已经编写了一个发送电子邮件的 Powershell 脚本,但我正在尝试找出一种向其添加 AIP 分类的方法。我的组织使用以下一般分类:
公开
内部
secret
由于在这种情况下分类是内部,我只需要一种在我的脚本中设置它的方法。我当前的脚本(使用 Office 365)是:
$message = New-Object Net.Mail.MailMessage
$emailTo = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a8dddbcdda99e8ccc7c5c9c1c686dcc4cc" rel="noreferrer noopener nofollow">[email protected]</a>'
$emailFrom = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c3b6b0a6b1f183a7acaea2aaadedb7afa7" rel="noreferrer noopener nofollow">[email protected]</a>'
$emailCc = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="285d5b4d5a1b684c4745494146065c444c" rel="noreferrer noopener nofollow">[email protected]</a>'
$smtpServer = 'smtp.domain.tld'
$subject = "Report"
$body = @"
<p><font face = "Calibri" size = "3">Hello,</p>
<p>Please see report.</p>
<br/><br/><font face = "Tempus Sans ITC" size = "3">User 2
<br/>123 Maple Road
<br/>(555) 555-5555 Office
<br/><a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6f1a1c0a1d5d2f0b00020e0601411b030b" rel="noreferrer noopener nofollow">[email protected]</a></font>
<br/><br/><img src="cid:attlogo">
"@
$smtp = New-Object Net.Mail.SmtpClient
$smtp.Host = $smtpServer
$smtp.EnableSsl = $true
$logo = "C:\logo.png"
$attlogo = New-Object System.Net.Mail.Attachment($logo)
$attlogo.ContentDisposition.Inline = $True
$attlogo.ContentDisposition.DispositionType = "Inline"
$attlogo.ContentType.MediaType = "image/png"
$attlogo.contentID = "attlogo"
$message.From = $emailFrom
$message.To.Add($emailTo)
$message.Cc.Add($emailCc)
$message.Subject = $subject
$message.Body = $body
$message.IsBodyHtml = $true
$message.Attachments.Add($attlogo)
$smtp.Send($message)
$attlogo.Dispose()
有些人可能想知道为什么我没有使用 Send-MailMessage cmdlet,但在这种情况下,内联图像不能很好地配合它,所以我最终使用了 .Net。
如果有人知道如何将副本发送到 Outlook 邮箱中的“已发送”文件夹,那就太好了。
最佳答案
我们没有办法将其直接应用到您的邮件,因为在您将邮件发送到 SMTP 服务之前,并没有真正的邮件可以应用它。
该标签是否具有保护作用?如果没有,您可以通过直接将 AIP 标签元数据添加到 SMTP header 来实现您的目标。
我们在名为 msip_labels 的 SMTP header 中添加 AIP 标签元数据。如果您拥有应应用的元数据,则可以将此数据插入到每条消息的 header 中。不幸的是,我们目前无法在 AIP PowerShell 模块中获取此数据。不过,我确实在 GitHub 上发布了一些示例,展示了如何获取策略信息。
https://github.com/Azure-Samples/Mipsdk-Dotnet-Policy-Quickstart
该示例将允许您输入标签(尽管它需要在当前状态下进行修改,因为它需要两个标签进行模拟),并获取操作详细信息。您可以修改该应用程序以仅接受单个标签,然后输出元数据操作以了解将应用哪些元数据。然后您可以将其粘贴到 SMTP header 中并发送消息。
如果您必须对文档应用保护,我们还没有可以提供帮助的功能。这有点复杂,因为我们必须从纯文本消息生成 message.rpmsg 文件,然后您需要附加并设置其他 header 。我们的 SDK 中还没有生成 message.rpmsg 的功能。
希望有帮助!如果我能为您解答更多问题,请告诉我。
关于.net - 在 Powershell 脚本中将 Azure 信息保护添加到电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58210905/