当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 Microsoft 365 中使用 PowerShell 管理邮箱审核

作者:精品下载站 日期:2024-12-14 05:54:47 浏览:15 分类:玩电脑

在 Microsoft 365 中使用 PowerShell 管理邮箱审核


当用户的日历会议在用户不知情的情况下被删除或电子邮件被移动到另一个文件夹时,您需要了解发生这种情况的原因。通过 Exchange Online 中的审核日志功能,可以检查这些操作。但是,您必须首先在 Microsoft Purview 门户或 Exchange Online PowerShell 中启用审核。在本文中,您将了解如何使用 PowerShell 管理 Microsoft 365 邮箱审核。

Exchange Online 邮箱审核日志

Microsoft 365 中的 Exchange Online 审核日志收集有关在特定邮箱中执行的每个操作的详细信息。它将审核信息保存在为每个邮箱存储的专用日志文件中,该日志文件对邮箱所有者来说是隐藏的。

默认情况下不启用邮箱审核选项。仅当特定用户的邮箱发生异常情况时,您才会使用 Exchange Online 审核选项。例如,如果用户(邮箱所有者)找不到他们的邮件或日历会议,因为有人在他们不知情的情况下将其删除或重新定位到另一个文件夹。

要了解发生了什么,您需要使用审核日志检查与特定邮箱相关的每个操作。审核日志可以告诉您发生了哪些操作以及是谁执行的。

以下邮箱类型可以使用邮箱审核:

  • 用户邮箱
  • 共享邮箱
  • Microsoft 356 组邮箱

搜索-UnifiedAuditLog cmdlet

您可以使用 Microsoft Purview 门户下载审核日志报告。

使用 Search-UnifiedAuditLog PowerShell cmdlet,您可以对更多选项进行排序和筛选,并以不同的输出格式(例如 CSV、HTML 和 CSS)导出信息。

要使用 Search-UnifiedAuditLog PowerShell cmdlet,您需要为租户启用审核。

默认情况下,所有 Microsoft 365 客户都启用此审核日志。此审核的目的是记录 Exchange Online 管理员执行的每个管理操作。

例如,为其他用户(代理人)分配对特定用户邮箱的完全访问权限、分配代理发送权限、添加或删除电子邮件地址等。

邮箱审核登录类型

每个邮箱(用户、共享、Microsoft 365 组)都有不同的审核登录类型。我们将向您展示不同的登录类型及其特定的 PowerShell 参数以及它们可以审核日志的邮箱操作。

1.邮箱所有者审核(-AuditOwner)

这是负责该帐户的邮箱所有者。您可以将 -AuditOwner 参数与 Get-MailboxSet-Mailbox cmdlet 结合使用。

这种类型的审核将记录邮箱所有者执行的不同操作,例如创建、移动、更新或(软和硬)删除邮件项目等等。

2.非所有者审计(-AuditDelegate)

当用户对特定用户邮箱具有 SendAsSendOnBehalf FullAccess 权限时,称为委托。此外,对邮箱具有完全访问权限的管理员被视为委托

审核日志将包含与 AuditOwner 相同的操作。您可以将-AuditDelegate 参数与Get-MailboxSet-Mailbox cmdlet 结合使用。

3.管理审核(-AuditAdmin)

Exchange Online 管理员对用户邮箱执行操作。您可以将 -AuditAdmin 参数与 Get-MailboxSet-Mailbox cmdlet 结合使用。

当 Exchange Online 管理员使用 PowerShell 命令从用户邮箱搜索和删除电子邮件项目时,它将审核日志操作。

Microsoft 365 组邮箱的邮箱审核日志操作

当您在组织中启用邮箱审核时,它还将启用审核日志 Microsoft 365 组邮箱。您无法自定义 Microsoft 365 组的默认邮箱操作,这意味着您无法添加或删除任何登录类型的邮箱操作。

  • 复选标记(✓) 表示默认情况下会记录此类邮箱操作。
  • (☓) 显示没有记录此类邮箱操作的选项。

下表显示了每种登录类型对 Microsoft 365 组邮箱的默认邮箱操作。

ActionDescriptionAdminDelegateOwnerCreateCreate an item in the Calendar folder. Creating, sending, or receiving a message isn’t audited.✓✓☓HardDeleteA message was purged from the Recoverable Items folder.✓✓✓MoveToDeletedItemsA message was deleted and moved to the Deleted Items folder.✓✓✓SendAsSend a message using the SendAs permission. This means another user sent the message as though it came from the mailbox owner.✓✓☓SendOnBehalfSend a message using the SendOnBehalf permission. This means another user sent the message on behalf of the mailbox owner.✓✓☓SoftDeleteDelete or permanently delete a message from the Deleted Items folder. Soft-deleted items are moved to the Recoverable Items folder.✓✓✓UpdateA message or its properties was changed.✓✓✓

用户和共享邮箱的邮箱审核日志操作

有多种邮箱操作可以审核用户和共享邮箱。在组织中启用邮箱审核之前,您可以自定义要审核的邮箱操作。

注意:自定义邮箱审核设置保留在邮箱上,不会被默认邮箱操作覆盖。您始终可以恢复一种或所有登录类型的默认邮箱审核操作。

  • 复选标记(✓) 表示默认情况下会记录此类邮箱操作。
  • 复选标记后的星号 (*) 表示您可以记录此类邮箱操作。
  • (☓) 显示没有记录此类邮箱操作的选项。

用户和共享邮箱的邮箱操作表

下表显示了可用于审核用户和共享邮箱的邮箱操作。

ActionDescriptionAdminDelegateOwnerApplyRecordAn item is labeled as a record.✓✓✓CopyCopy a message to another folder.✓*☓☓CreateCreate an item in the Calendar, Contacts, Draft, Notes, or Tasks folder in the mailbox. For example, a new meeting request is created.

Creating a message or folder isn’t audited.✓✓✓*FolderBindA mailbox folder was accessed. This action is also logged when the admin or delegate opens the mailbox.✓*✓*☓HardDeleteA message was purged from the Recoverable Items folder.✓✓✓MailboxLoginThe user signed in to their mailbox.☓☓✓*MailItemsAccessedMail data is accessed by mail protocols and clients.**✓✓✓MessageBindA message was viewed in the preview pane or opened.**✓*☓☓MoveA message was moved to another folder.✓*✓*✓*MoveToDeletedItemsA message was deleted and moved to the Deleted Items folder.✓✓✓RecordDeleteAn item labeled as a record was moved to the Recoverable Items folder (soft-deleted).✓*✓*✓*SearchQueryInitiatedA person uses Outlook (Windows, Mac, iOS, Android, or Outlook on the web) or the Mail app for Windows 10 to search for items in a mailbox.**☓☓✓*SendThe user sends an email message, replies to an email message, or forwards an email message.**✓☓✓SendAsSend a message using the SendAs permission.✓✓☓SendOnBehalfSend a message using the
SendOnBehalf permission.✓✓☓SoftDeleteA message was permanently deleted or deleted from the Deleted Items folder.✓✓✓UpdateA message or its properties was changed.✓✓✓UpdateCalendarDelegationA calendar delegation was assigned to a mailbox.✓☓✓UpdateFolderPermissionsThe folder permission was changed.✓✓✓UpdateInboxRulesAn inbox rule was added, removed, or changed.✓✓✓

**此值仅适用于拥有 E5/A5/G5 许可证的用户。

1. 在 Microsoft 365 中启用或禁用审核

有两种方法可以验证您的租户是否启用了审核:

  • 微软权限门户
  • 在线交换 PowerShell

然后我们将向您展示如何在 Exchange Online PowerShell 中为整个组织禁用审核。

在 Microsoft Purview 门户中启用审核

如何在 Microsoft Purview 门户中为您的组织启用审核:

  1. 登录 Microsoft 权限
  2. 点击审核
  3. 转到新搜索标签
  4. 单击文本开始记录用户和管理员活动

注意:如果您看不到文本开始记录用户和管理员活动,则表示审核已启用。

[玩转系统] 在 Microsoft 365 中使用 PowerShell 管理邮箱审核

如果想禁用审核,只能使用PowerShell。

连接到 Exchange Online

为了能够运行当前文章中指定的 PowerShell 命令,您需要连接到 Exchange Online PowerShell。

以管理员身份启动 Windows PowerShell 并运行 Connect-ExchangeOnline cmdlet。

Connect-ExchangeOnline

使用 PowerShell 启用审核

要为您的组织启用审核,我们将使用 Set-AdminAuditLogConfig PowerShell cmdlet。

运行以下 PowerShell 命令以启用审核。

Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true

运行命令后,PowerShell 将显示以下警告。

注意:您指定的管理员审核日志配置更改最多可能需要 60 分钟才能生效。

使用 PowerShell 禁用审核

您只能在 Exchange Online PowerShell 中禁用审核。您需要将-UnifiedAuditLogIngestionEnabled参数设置为$false

运行以下 PowerShell 命令以禁用整个组织的审核。

Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $false

运行命令后,PowerShell 将显示以下警告。

注意:您指定的管理员审核日志配置更改最多可能需要 60 分钟才能生效。

验证邮箱审核已启用

使用以下 PowerShell 命令验证您是否为您的组织启用了邮箱审核。

Get-OrganizationConfig | Format-List AuditDisabled

PowerShell 输出显示 AuditDisabled 的值 False,这意味着邮箱审核已开启。

AuditDisabled : False

注意:当您在组织中启用邮箱审核时,它将覆盖各个邮箱上的邮箱审核设置。如果启用了邮箱审核,则将单个邮箱的 AuditEnabled 邮箱属性设置为 False 将被忽略。

在下一步中,我们将向您展示如何防止特定用户的邮箱审核。

启用邮箱审核绕过

要禁用特定邮箱的邮箱审核,您需要设置邮箱审核绕过。使用 Set-MailboxAuditBypassAssociation PowerShell cmdlet 为用户帐户配置邮箱审核日志记录绕过。

运行以下 PowerShell 命令来启用特定用户的邮箱审核绕过。

Set-MailboxAuditBypassAssociation -Identity "[email protected]" -AuditBypassEnabled $true

要检查特定用户的审核绕过,请运行以下 PowerShell 命令。

Get-MailboxAuditBypassAssociation -Identity "[email protected]" | Format-List AuditByPassEnabled

PowerShell 输出显示值 True,这意味着它为此特定用户启用了邮箱审核绕过。

AuditBypassEnabled : True

2. 检查 Exchange Online 邮箱的审核类型

注意:默认情况下,所有组织的 -AuditEnabled 参数已设置为 $true

要检查是否为单个邮箱启用审核,请运行以下 PowerShell 命令。

Get-Mailbox "[email protected]" | Format-Table DisplayName, AuditEnabled

运行以下 PowerShell 命令,检查所有邮箱的 -AuditEnabled 是否设置为 true

Get-Mailbox | Format-Table DisplayName, AuditEnabled

为单个邮箱启用 AuditOwner

您还可以通过所需的操作对单个邮箱启用审核所有者。

Set-Mailbox "Identity" -AuditOwner "required parameters"

运行以下 PowerShell 命令。

Set-Mailbox "[email protected]" -AuditOwner "Create, HardDelete, MailboxLogin, Move, MoveToDeletedItems, SoftDelete, Update"

为单个邮箱启用 AuditDelegate

通过所需的操作对单个邮箱启用审核委托(非所有者)。

Set-Mailbox "Identity" -AuditDelegate "required parameters"

运行以下 PowerShell 命令。

Set-Mailbox "[email protected]" -AuditDelegate "Create, FolderBind, HardDelete, Move, MoveToDeletedItems, SoftDelete, Update"

为单个邮箱启用 AuditAdmin

通过所需的操作对单个邮箱启用审核管理。

Set-Mailbox "Identity" -AuditAdmin "required parameters"

运行以下 PowerShell 命令。

Set-Mailbox "[email protected]" -AuditAdmin "Copy, Create, FolderBind, HardDelete, MessageBind, Move, MoveToDeletedItems, SendAs, SendOnBehalf, SoftDelete, Update"

恢复默认邮箱操作

您可以使用 -DefaultAuditSet 参数恢复一种或所有登录类型的用户或共享邮箱的邮箱操作。在我们的示例中,我们希望恢复特定用户邮箱的登录类型([email protected])

运行以下 PowerShell 命令以恢复单一登录类型的默认邮箱操作。

Set-Mailbox "[email protected]" -DefaultAuditSet Admin

运行以下 PowerShell 命令以恢复所有登录类型的默认邮箱操作。

Set-Mailbox "[email protected]" -DefaultAuditSet Admin, Delegate, Owner

设置单个邮箱审核保留天数

-AuditLogAgeLimit 参数指定邮箱审核日志条目的最长期限。默认值为 90 天,这意味着它会删除所有较旧的日志条目。

运行以下 PowerShell 命令将审核日志期限设置为 365 天。

Set-Mailbox "[email protected]" -AuditLogAgeLimit "365"

3. 获取邮箱审核设置

要获取 Exchange Online 邮箱审核设置,我们将使用 Get-Mailbox PowerShell cmdlet。

获取单个邮箱的审核设置

要显示用户邮箱的审核设置,请使用 Get-Mailbox PowerShell cmdlet。

Get-Mailbox "[email protected]" | Format-List Audit*

将显示 PowerShell 输出结果。

AuditEnabled     : True
AuditLogAgeLimit : 90.00:00:00
AuditAdmin       : {Update, Copy, Move, MoveToDeletedItems…}
AuditDelegate    : {Update, Move, MoveToDeletedItems, SoftDelete…}
AuditOwner       : {Update, Move, MoveToDeletedItems, SoftDelete…}

获取所有邮箱的审核设置

当您显示所有 Exchange Online 邮箱的审核设置时,您可以检查 AuditEnabled 是否设置为 True。它还显示 AuditLogAgeLimit 和审核类型(AuditAdmin、AuditDelegate、AuditOwner),包括它们的操作。

Get-Mailbox -ResultSize Unlimited | Where-Object { $_.AuditEnabled -eq "$true" } | Format-List Alias, Audit*

PowerShell 输出显示每个 Exchange Online 邮箱的审核设置。

Alias            : Amanda.Hansen
AuditEnabled     : True
AuditLogAgeLimit : 90.00:00:00
AuditAdmin       : {Update, Copy, Move, MoveToDeletedItems…}
AuditDelegate    : {Update, Move, MoveToDeletedItems, SoftDelete…}
AuditOwner       : {Update, Move, MoveToDeletedItems, SoftDelete…}

Alias            : Brenda.Smith
AuditEnabled     : True
AuditLogAgeLimit : 30.00:00:00
AuditAdmin       : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}
AuditDelegate    : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}
AuditOwner       : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}

Alias            : Chris.Lucas
AuditEnabled     : True
AuditLogAgeLimit : 365.00:00:00
AuditAdmin       : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}
AuditDelegate    : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}
AuditOwner       : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}

获取单个邮箱的 AuditOwner 参数

获取您为单个邮箱设置的-AuditOwner参数列表。

Get-Mailbox "[email protected]" | Select-Object -ExpandProperty AuditOwner

PowerShell 输出列出了您为此邮箱设置的 AuditOwner 的不同参数([email protected])。

Update
Move
MoveToDeletedItems
SoftDelete
HardDelete
Create
MailboxLogin

获取单个邮箱的 AuditDelegate 参数

获取您为特定邮箱设置的-AuditDelegate参数列表。

Get-Mailbox "[email protected]" | Select-Object -ExpandProperty AuditDelegate

PowerShell 输出列出了您为此邮箱设置的 AuditDelegate 的不同参数([email protected])

Update
Move
MoveToDeletedItems
SoftDelete
HardDelete
FolderBind
Create

获取单个邮箱的 AuditAdmin 参数

获取您为特定邮箱设置的-AuditAdmin参数列表。

Get-Mailbox "[email protected]" | Select-Object -ExpandProperty AuditAdmin

PowerShell 输出列出了您为此邮箱设置的 AuditAdmin 的不同参数([email protected])。

Update
Copy
Move
MoveToDeletedItems
SoftDelete
HardDelete
FolderBind
SendAs
SendOnBehalf
MessageBind
Create

获取邮箱审核日志信息

要获取单个邮箱的审核日志信息,您需要使用Search-UnifiedAuditLog PowerShell cmdlet。

获取单个邮箱过去 30 天内的所有登录类型(所有者、代理人、管理员)。

Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -UserIds "[email protected]" 

PowerShell 控制台输出显示以下结果。

RecordType   : ExchangeItemAggregated
CreationDate : 01/03/2024 07.44.30
UserIds      : [email protected]
Operations   : MailItemsAccessed
AuditData    : {"CreationTime":"2024-03-01T07:44:30","Id":"142a9a65-fb0c-47aa-b0ee-04a4977c8456","Operation":"MailItemsAccessed","OrganizationId":"a2ff010e-0e03-4c56-8863-2ae7f07876
               dd","RecordType":50,"ResultStatus":"Succeeded","UserKey":"1003200280C087D8","UserType":0,"Version":1,"Workload":"Exchange","UserId":"[email protected]","AppI
               d":"a3883eba-fbe9-48bd-9ed3-dca3e0e84250","ClientAppId":"a3883eba-fbe9-48bd-9ed3-dca3e0e84250","ClientIPAddress":"2603:10a6:20b:60f::13","ClientInfoString":"Client=RE
               ST;Client=RESTSystem;;","ExternalAccess":false,"InternalLogonType":0,"LogonType":0,"LogonUserSid":"S-1-5-21-701439281-3420630407-1831248095-13098321","MailboxGuid":"d
               2f0ce69-287f-4de1-90ea-124110a06f7c","MailboxOwnerSid":"S-1-5-21-701439281-3420630407-1831248095-13098321","MailboxOwnerUPN":"[email protected]","OperationPr
               operties":[{"Name":"MailAccessType","Value":"Bind"},{"Name":"IsThrottled","Value":"False"}],"OrganizationName":"ms365info.onmicrosoft.com","OriginatingServer":"AS8PR0
               2MB7112 (15.20.4200.000)\r\n","Folders":[{"FolderItems":[{"ClientRequestId":"53117859-a300-43c5-abd0-4cd5be64a180","InternetMessageId":"<CAAMAOhMFKqcTcVYDaGHWOjTt5pds
               [email protected]>","SizeInBytes":35451}],"Id":"LgAAAABroEtNkRnUR6N\/VnNslZPDAQCKniiQJ5YUT6lj3dk357OFAAAAAAETAAAB","Path":"\Junk 
               Email"}],"OperationCount":1}
ResultIndex  : 1
ResultCount  : 1
Identity     : 142a9a65-fb0c-47aa-b0ee-04a4977c8456
IsValid      : True
ObjectState  : Unchanged

获取邮箱审核文件夹统计信息

若要获取有关审核文件夹的信息,您需要使用 Get-MailboxFolderStatistics PowerShell cmdlet。

Get-MailboxFolderStatistics "[email protected]" | Where-Object { $_.name -eq "Audits" } | Format-Table Identity, ItemsInFolder, FolderSize -AutoSize

PowerShell 输出显示以下结果。

Identity                          ItemsInFolder FolderSize
--------                          ------------- ----------
[email protected]\Audits           805 4.348 MB (4,558,947 bytes)

4.导出邮箱审核日志信息

最好将所有信息导出到CSV文件,以便您可以搜索和过滤邮箱的审核日志信息。请记住在您的(C:)驱动器中创建一个临时文件夹。

将特定邮箱的审核日志导出到 CSV 文件

审核的默认保留期限已从 90 天更改为 180 天。这意味着 2023 年 10 月 17 日或之后的审核日志将遵循新的默认保留期 180 天。

注意:如果您在 30 天前为整个组织启用审核,则最大日期范围不能在启用审核的日期之前开始。

将单个用户最近30天的所有审核日志信息导出到CSV文件。

Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -UserIds "[email protected]" | Export-Csv "C:\temp\AuditLog.csv" -NoTypeInformation -Encoding utf8

转到 C:\temp 文件夹并使用 Microsoft Excel 打开 CSV 文件以查看结果。

[玩转系统] 在 Microsoft 365 中使用 PowerShell 管理邮箱审核

将特定邮箱的 Exchange 管理员审核日志导出到 CSV

运行以下 Powershell 命令以导出特定邮箱上的 Exchange 管理审核日志。

Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -UserIds "[email protected]" -RecordType ExchangeAdmin | Export-Csv "C:\temp\AuditAdminLog.csv" -NoTypeInformation -Encoding utf8

转到 C:\temp 文件夹并使用 Microsoft Excel 打开 CSV 文件以查看结果。它显示了过去 30 天内单个邮箱的 Exchange 管理员审核日志的所有操作。

[玩转系统] 在 Microsoft 365 中使用 PowerShell 管理邮箱审核

将所有邮箱的 Exchange 管理员审核日志导出为 CSV

若要仅将审核管理员日志导出到 CSV 文件,您可以查看管理员为所有 Exchange Online 邮箱设置的内容。

运行以下 PowerShell 命令将审核管理日志导出到 CSV 文件。

Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -RecordType ExchangeAdmin | Export-Csv "C:\temp\BulkAuditAdminLog.csv" -NoTypeInformation -Encoding utf8

转到 C:\temp 文件夹并使用 Microsoft Excel 打开 CSV 文件以查看结果。它显示过去 30 天内所有邮箱的 Exchange 管理员审核日志操作。

[玩转系统] 在 Microsoft 365 中使用 PowerShell 管理邮箱审核

将单个邮箱的审核日志指定操作导出为 CSV

运行以下 PowerShell 命令以导出有关单个邮箱的特定操作(删除)的审核日志。

Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -UserIds "[email protected]" -Operations SoftDelete, HardDelete, MoveToDeletedItems | Export-Csv "C:\temp\AuditLog Operations.csv" -NoTypeInformation -Encoding utf8

转到 C:\temp 文件夹并使用 Microsoft Excel 打开 CSV 文件以查看结果。它显示过去 30 天内的操作列表(SoftDelete、HardDelete、MoveToDeletedItems)。

[玩转系统] 在 Microsoft 365 中使用 PowerShell 管理邮箱审核

就是这样!

阅读更多内容:如何从全局地址列表 (GAL) 中隐藏用户 »

结论

您了解了如何在 Microsoft 365 中使用 PowerShell 管理邮箱审核。若要管理审核日志,您必须为您的组织启用审核。然后,您可以设置审核设置并将单个或所有邮箱的邮箱审核日志导出到 CSV 文件。

您喜欢这篇文章吗?您可能还喜欢如何将已发送的邮件保存在共享邮箱中。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯