[玩转系统] 通过电子邮件发送报告的 Office 365 PowerShell 脚本 - 快速指南
作者:精品下载站 日期:2024-12-14 08:34:52 浏览:16 分类:玩电脑
通过电子邮件发送报告的 Office 365 PowerShell 脚本 - 快速指南
Office 365 管理员负责监控其用户和资源,其中包括根据活动管理其报告。 Outlook 客户端是将这些报告发送给特定审阅者的有用工具。另一方面,当需要将报告发送给多个用户时,这可能会变得具有挑战性。嘿管理员,不用再担心了!您可以使用PowerShell 脚本通过电子邮件发送报告,因为它能够自动执行在正确的时间向多个用户发送 Office 365 报告的过程。
让我们详细了解如何使用 Microsoft PowerShell 通过电子邮件安全可靠地发送 Office 365 报告。
为什么管理员选择 PowerShell 脚本来通过电子邮件发送报告?
作为 Office 365 管理员的无忧解决方案,PowerShell 有助于通过电子邮件发送报告。它确保报告在适当的时间交付给收件人,不会出现任何复杂情况。
由于它提供了众多优势,管理员通常倾向于使用 PowerShell 从 Office 365 创建、发送和检索报告。它的一些主要优势包括:
可扩展性 - 使用 PowerShell 可以更轻松地将 Office 365 报告分发给大型成员,因为它允许通过电子邮件同时向多个收件人分发报告。
强大的错误处理 - 使用 PowerShell 发送报告使我们能够识别和处理过程中可能发生的错误,例如附件错误和不正确的服务器设置。
提高安全性——通过使用 SSL/TLS 加密方法对电子邮件进行加密,有助于保护我们的报告免遭未经授权的访问。
集中报告 - PowerShell 的集中化功能使管理员能够使用单个控制台跨多个 Office 365 资源生成报告。
因此,通过提供上述优势,PowerShell 成为高效管理组织的终极 Office 365 管理工具。
创建报告并使用 Microsoft PowerShell 通过电子邮件发送
Office 365 报告是管理员有效管理和监控 Office 365 用户和活动的重要工具。这些报告提供了有关 Microsoft 365 使用模式和安全威胁的宝贵见解,使您能够做出数据驱动的决策。
通过利用 Office 365 报告的强大功能,您可以主动识别并解决组织内的问题。生成 Office 365 报告的快捷方式是通过 Microsoft PowerShell。
您可以使用 PowerShell 生成报告来审核 Office 365,例如跟踪用户活动、查找安全事件、调查取证事件、管理文件共享、监控电子邮件活动等。
使用 Send-MailMessage Cmdlet 通过电子邮件发送报告
当您处理大量报告或多个收件人时,通过 OWA 或桌面 Outlook 共享报告将具有挑战性。但是,借助 PowerShell 脚本,管理员可以将报告设置为更快、更安全地传送到组织中所需的收件箱。
因此,Microsoft Exchange Server 模块中的 Send-MailMessage 使您能够通过 PowerShell 通过电子邮件发送 Office 365 报告。
以下是通过 PowerShell 发送报告时需要遵循的 cmdlet 语法。
Send-MailMessage -From <SenderMailId> -To <RecipientMailId> -Subject <SubjectForYourMail> -SmtpServer <SmtpServerName> -Port <SMTPportNumber> -UseSsl -Credential (Get-Credential)
在 cmdlet 中提供 SMTP 服务器,因为 Internet 上的电子邮件通信依赖于 SMTP 协议。
您可以从 Outlook 帐户中的设置选项获取 SMTP(简单邮件传输协议)服务器名称和端口号。然后,找到服务器的名称和端口号,如下面的屏幕截图所示。
Send-MailMessage cmdlet 可以与各种参数一起使用来管理 Office 365 活动。因此,我们介绍了以下管理通过电子邮件发送报告的最重要方法。
- 使用 PowerShell 脚本向多个收件人发送电子邮件
- 通过电子邮件将报告发送给特定小组成员
- 使用 Microsoft PowerShell 通过电子邮件向用户发送 HTML 报告
- 使用送达通知参数通过电子邮件发送报告
- 使用 PowerShell 通过电子邮件将批量附件发送给多个收件人
- 用于在一封电子邮件中发送多个附件的 PowerShell 脚本
在进一步深入探讨之前,请确保连接 Exchange Online PowerShell。
使用 PowerShell 脚本向多个收件人发送电子邮件
在 Outlook 中将报告发送给多个收件人是很困难的,因为它需要我们手动在“收件人”参数中添加每个成员,使得过程相当复杂。但是,您可以使用 CSV 文件将报告发送给批量 Office 365 用户来简化它。
您可以创建 CSV 文件。 CSV 文件应有一个标题行,其中包含收件人姓名和收件人电子邮件地址列。然后保存 CSV 文件并记下路径。
现在,您可以运行以下脚本,使用 PowerShell 通过电子邮件向多个用户发送报告。
$EmailList = Import-Csv -Path <PathForYourFile>
$Message = <TypeYourMessageHere>
ForEach ($Recipient in $EmailList) {
$To = $Recipient.EmailAddress
$Subject = <SubjectForYourMessage>
Send-MailMessage -To $To -Subject $Subject -Body <MessageForYourEmail> -SmtpServer <YourSMTPServerName> -From <SenderMailId> -port 587 -UseSsl -Credential (Get-Credential) -attachment <PathOfYourReport>
}
因此,PowerShell 脚本会将附加的报告发送给 CSV 文件中提到的用户。
通过 PowerShell 将报告通过电子邮件发送给特定组成员
您可以通过使用群组邮件地址一次性与所有成员共享报告来节省时间和精力,而不是浪费时间单独发送报告。
Send-MailMessage -From <SenderMailAddress> -To <GroupMailAddress> -Subject <SubjectForYourMail> -SmtpServer <SmtpsServerName> -Port <SMTPportNumber> -UseSsl -Credential (Get-Credential) - attachments <PathOfTheReport>
该报告将发送给指定组的成员,如下所示。
执行上述 cmdlet 后,附件将通过 PowerShell 通过群组邮件地址发送给所有群组成员。
使用 Microsoft PowerShell 通过电子邮件向用户发送 HTML 报告
要通过电子邮件向收件人发送 HTML 报告,请使用所需参数执行以下 cmdlet。
Send-MailMessage -From <SenderMailAddress> -To <RecipientMailAddress> -Subject <SubjectForYourMail> -SmtpServer <YourSMTPseverName> -Port 587 -UseSsl -Credential (Get-Credential) -attachments <PathForyourHTMLfile>
注意:您还可以使用上述 cmdlet 发送任何格式的报告,例如 CSV、XML、txt。
使用送达通知参数通过电子邮件发送报告
送达通知将帮助您了解报告的送达状态。您可以获取附件的即时传送状态,并检查附件是否已成功传送、传送是否存在延迟或是否未能到达预期收件人。
您可以通过执行以下 PowerShell 脚本来获取已发送报告的送达通知。
$deliveryNotificationOption = [System.Net.Mail.DeliveryNotificationOptions]:: Specifies the delivery notification options
# Send the email and generate a delivery notification
Send-MailMessage -From <senderMailId> -To <ReceiverMailId> -Subject <SubjectForYourMail> -Body <MessageForYourMail> -SmtpServer <SMTPserverName> -DeliveryNotificationOption $deliveryNotificationOption -attachments <PathForYourReport> -Priority High -UseSsl -Credential (Get-Credential)
注意:您还可以设置优先级参数,就像我们上面添加的那样,并将相应的电子邮件标记为比其他报告“高重要性”。
您将获得五个递送通知选项。他们是,
- 无:不会出现有关报告传送的通知。
- OnSuccess:如果交付成功,您将收到一条通知。
- OnFailure:如果交付不成功,您将收到短信通知。
- 延迟:如果交货有任何延迟,您将收到通知。
- 从不:您不会收到有关报告送达的通知。
如果您使用“OnSuccess”传递通知参数运行此 PowerShell 脚本,您将收到如上屏幕截图所示的消息。
使用 PowerShell 将批量附件通过电子邮件发送给多个收件人
通过 Outlook 客户端一次向特定用户发送自定义报告似乎很困难。不过,您可以使用 PowerShell 脚本一次向所需收件人发送多个报告。
首先,创建一个具有合适名称的 CSV 文件。 CSV 文件应具有一个标题行,其中包含包含收件人电子邮件地址的“电子邮件”列和包含分隔的报告的文件路径的“报告”列以逗号分隔。
然后,执行下面的 PowerShell 脚本以在短时间内向批量收件人发送批量报告。
$list = Import-Csv -Path <pathForYourCSVfile>
foreach ($item in $list) {
# Create new email message
$email = New-Object System.Net.Mail.MailMessage
# Add recipient to email message
$email.To.Add($item.Email)
# Add subject and body to email message
$email.Subject = <SubjectForYourMail>
$email.Body = <MessageForYourMail>
# Add each report as an attachment to email message
$reports = $item.Reports.Split(",")
foreach ($report in $reports) {
$attachment = New-Object System.Net.Mail.Attachment($report)
$email.Attachments.Add($attachment)
}
# Define email sender and SMTP server information
$email.From = <SenderEmailId>
$smtpServer = <SMTPserverName>
$smtpPort = 587
$smtpSSL = $true
$smtpUsername = <SMTPusername>
$smtpPassword = <SMTPpassword>
# Send email using SMTP server with SSL encryption and explicit credentials
$smtp = New-Object System.Net.Mail.SmtpClient($smtpServer, $smtpPort)
$smtp.EnableSsl = $smtpSSL
$smtp.Credentials = New-Object System.Net.NetworkCredential($smtpUsername, $smtpPassword)
$smtp.Send($email)
}
此 PowerShell 脚本将向 CSV 文件中提到的收件人发送多个附件。
用于在一封电子邮件中发送多个附件的 PowerShell 脚本
将多份报告逐一附加给收件人可能是一个漫长而耗时的过程。但是,可以使用 PowerShell 自动化此过程,从而可以通过电子邮件将批量报告有效分发给收件人。
只需使用第一列中列出的文件路径创建一个 CSV 文件,就像下面的屏幕截图所示。
然后,您可以通过执行下面的 PowerShell 脚本向收件人发送批量报告。
# Define email parameters
$From = <SenderEmailId>
$To = <RecipientEmailId>
$Subject = <SubjectForYourMail>
$Body = <MessageToBeSent>
# Define CSV file path
$CSVFile = <PathForYourCSVFileHavingReportsDetails>
# Read file paths from CSV file
$Attachments = Import-Csv $CSVFile | Select-Object -ExpandProperty Path
# Create email message with attachments
$Email = New-Object System.Net.Mail.MailMessage($From, $To, $Subject, $Body)
foreach ($Attachment in $Attachments) {
$AttachmentStream = New-Object System.Net.Mail.Attachment($Attachment)
$Email.Attachments.Add($AttachmentStream)
}
# Send email
$SMTPServer = <YourSMTPserverName>
$SMTPPort = <YourSMTPportNumber>
$SMTPUsername = <YourUsername>
$SMTPPassword = <YourPassword>
$SMTPSecure = "tls"
$SMTPCredentials = New-Object System.Net.NetworkCredential($SMTPUsername, $SMTPPassword)
$SMTPClient = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = $SMTPCredentials
$SMTPClient.Send($Email)
上述 PowerShell 脚本将一次向收件人发送多个报告。
AdminDroid - 促进及时交付 Microsoft 365 报告
如果您是 PowerShell 新手,那么使用 PowerShell 脚本通过电子邮件发送报告将会很困难。此外,使用 PowerShell 使用任务计划程序来计划报告涉及广泛的设置和选项,这会占用您的时间。如果我们说您可以在没有任务计划程序和 PowerShell 脚本的情况下计划和发送报告,您会有什么反应?你可能很难相信,对吧?
是的! AdminDroid 是 Microsoft 365 报告器,具有高级计划功能,允许您自定义所需的报告并将其发送到您的 Exchange Online 邮箱。借助这一强大的计划功能,您可以在所需的时间毫无延迟向收件人发送一份或多份报告。因此,它通过自动化 Office 365 报告分发来节省时间和精力。
通过 AdminDroid 通过电子邮件发送报告时,您将获得以下优势。
- 计划的报告可以保存为PDF、HTML、CSV、XLS、XLSX 和RAW 格式。
- 可以自定义电子邮件的正文和主题。
- 报告可以作为电子邮件附件、单个 zip 文件或链接发送。
- 预定的报告可以自动发送给相应的收件人。
- 计划的报告可以存储在本地磁盘或远程共享上。
- 报告可以每日、每周或每月发送。此外,您还可以使用最近安排的时间来发送报告。
- 您可以授权其他 Microsoft 365 管理员订阅您的计划,确保他们也能直接在其邮箱中收到您的计划报告。
除了其调度功能外,AdminDroid 还可以通过电子邮件快速向用户发送报告,从而简化即时报告交付的过程。
除此之外,您还可以安排 Exchange Online 邮件保护报告,以定期监控来自组织的邮件地址、传入/传出的垃圾邮件和恶意软件电子邮件等的潜在安全威胁。
此外,您可以通过在 AdminDroid 中安排 Exchange Online 邮件流量报告来监控入站和出站 Microsoft 365 邮件流量,以不断地控制欺骗发件人。此外,此报告还可以帮助您分析排名最高的邮件发送者/接收者、排名靠前的垃圾邮件/恶意软件接收者等统计数据,从而帮助您在关键情况下及时做出决策。
此外,AdminDroid 的电子邮件分析仪表板可让您深入了解每个异常电子邮件行为,从而增强 Microsoft 365 Exchange Online 的安全性。
更重要的是,作为一站式解决方案,AdminDroid 提供对所有 Microsoft 365 资源的广泛分析,例如 Azure AD、Exchange Online、OneDrive、SharePoint Online 等。
此外,AdminDroid 免费为您提供 190 多个 Azure AD 报告,并为有效监控用户登录、密码更改等铺平道路。
别让时间溜走!立即开始使用 AdminDroid 在 Microsoft 365 中自动分发报告。
报告交付不再延迟!
简而言之,通过使用这些 PowerShell 脚本,您将降低通过 Outlook 客户端向未知用户发送电子邮件的风险。此外,您还可以在适当的时间高效地将活动报告发送给所需的用户。此外,还可以根据您的 Office 365 组织要求自定义这些脚本以满足特定需求。
我们希望我们已向您提供有关 PowerShell 如何帮助您通过电子邮件发送报告的信息。此外,请在评论部分留下有关使用 PowerShell 发送报告的建议和脚本想法。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag