如何使用PowerShell在邮件主题中添加日期

Posted

技术标签:

【中文标题】如何使用PowerShell在邮件主题中添加日期【英文标题】:How to add a date in mail subject using powershell 【发布时间】:2022-01-06 17:44:27 【问题描述】:

我正在编写一个脚本,用于搜索来自 Microsoft 安全合规中心的过去 7 天审核日志报告。该脚本将在每个星期日晚上运行,并将该周的报告发送给我的经理。

在我的脚本中,我有非常基本的主题,但我正在考虑在主题中添加一个日期范围,这样会更有帮助,但我不知道该怎么做,所以我将不胜感激如果我能得到帮助或建议。

我想在主题中添加一些内容,例如“2021 年 11 月 22 日至 2021 年 11 月 28 日的审计日志报告”


$logFile = "C:\AuditLogSearch\AuditLogSearchLog.txt"
$outputFile = "C:\AuditLogSearch\AuditLogRecords.csv"
[DateTime]$start = [DateTime]::UtcNow.AddDays(-7)
[DateTime]$end = [DateTime]::UtcNow
$record = "Discovery"
$resultSize = 5000
$intervalMinutes = 60


#####################
#  Send Automatic Email
#####################


$OL = New-Object -ComObject outlook.application
Start-Sleep 5
$mItem = $OL.CreateItem("olMailItem")

$mItem.To = "jj@gmail.com"
$mItem.Subject = "Weekly Audit Log Report"
$mItem.Attachments.Add("C:\AuditLogSearch\AuditLogSearchLog.txt")
$mItem.Body = "SENT FROM POWERSHELL"

$mItem.Send()

【问题讨论】:

【参考方案1】:

你已经有了必要的部分:

[DateTime]$start = [DateTime]::UtcNow.AddDays(-7)
[DateTime]$end = [DateTime]::UtcNow

只需将$mItem.Subject = "Weekly Audit Log Report"更改为:

$mItem.Subject = "Audit Log report from 0-1" -f
$start.ToShortDateString(), $end.ToShortDateString()

【讨论】:

【参考方案2】:

通过使用.ToShortDateString(),您可以获得所需的输出。

...
$mItem.Subject = "Weekly Audit Log Report $($start.ToShortDateString()) - $($end.ToShortDateString())"
...

【讨论】:

以上是关于如何使用PowerShell在邮件主题中添加日期的主要内容,如果未能解决你的问题,请参考以下文章

PowerShell - 从 Outlook 中提取电子邮件信息

如何使用香草论坛主题化电子邮件模板?

如何使用c#在Exchange邮件服务器中连接和创建新的邮件ID?

iOS 邮件消息视图,如 UIWebView

如何在 C# 中运行 powershell 命令

php 在外发电子邮件中附加主题 - 例如日期时间戳