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

[玩转系统] 使用 PowerShell 将 Office 365 用户活动报告导出为 CSV

作者:精品下载站 日期:2024-12-14 08:27:44 浏览:12 分类:玩电脑

使用 PowerShell 将 Office 365 用户活动报告导出为 CSV


监控 Office 365 用户的活动有助于识别 Office 365 租户中进行的未经授权的恶意活动。作为管理员,您经常可能会遇到跟踪特定用户活动或管理员活动的情况。在这种情况下,Microsoft 365 管理中心下的活动报告无法提供足够的详细信息。

如何为用户创建活动报告?

要跟踪用户活动,您可以使用审核日志搜索或 PowerShell。

在合规中心搜索审核日志:统一审核日志有助于查看用户在 Office 365 中的活动。此外,您还可以将审核日志搜索结果下载到 CSV 文件。但是,您无法一目了然地查看操作状态(操作是否成功或失败)、工作负载等所需数据。这些属性被格式化为 JSON 对象,需要对其进行解析以获取更多信息。

使用 PowerShell 跟踪用户活动:随着 Microsoft 365 管理门户和 UI 不断变化,大多数管理员更喜欢使用 PowerShell。 Search-UnifiedAuditLog cmdlet 可帮助搜索统一审核日志。此日志包含来自多个 Office 365 工作负载的事件,例如 Exchange Online、SharePoint Online、Azure Active Directory、OneDrive for Business、Microsoft Teams 和其他 Microsoft 365 服务。

使用 PowerShell 审核 Office 365 用户活动报告:

使用Search-UnifiedAuditLog获取审核日志并不是一件容易的事。如果您没有正确检索数据,最终将导致数据丢失。

考虑到所有情况,我们创建了一个 PowerShell 脚本,它将 Office 365 用户的活动报告导出到 CSV 文件。

下载脚本:UserActivityReport.ps1

脚本亮点:

  • 该脚本使用新式身份验证来连接到 Exchange Online。
  • 该脚本也可以使用启用 MFA 的帐户来执行。
  • 将报告结果导出到 CSV 文件。
  • 允许您生成自定义时间段的用户活动报告。
  • 在您确认后自动安装 EXO V2 模块(如果尚未安装)。
  • 该脚本调度程序友好。即,凭证可以作为参数传递,而不是保存在脚本内。

Office 365 用户活动报告 - 示例输出:

导出的用户活动报告包含以下属性:活动时间、用户名、操作、结果、工作负载和详细审核数据。

[玩转系统] 使用 PowerShell 将 Office 365 用户活动报告导出为 CSV

注意:由于某些工作负载没有结果状态列,因此显示为空。

Microsoft 365 用户活动报告 - 脚本执行步骤:

第 1 步:下载脚本。

步骤 2:以管理员身份启动 Windows PowerShell。

第 3 步:要运行此脚本,您可以选择以下任意一种方法。

方法 1:使用非 MFA 帐户执行脚本

./UserActivityReport.ps1 -UserID [email protected] -Default

方法 2:使用 MFA 帐户执行脚本

./UserActivityReport.ps1 -UserID [email protected] -MFA -Default

要了解有关如何将 Exchange Online PowerShell 与 MFA 连接的更多信息,请参阅我们的博客“将 Exchange Online PowerShell 连接与 MFA”。

方法 3:通过明确提及凭据来执行脚本(适合调度程序)。

./UserActivityReport.ps1 -UserID [email protected] -AdminName [email protected] -Password XXX -Default

释放“O365 用户活动 PowerShell 脚本”的全部潜力:

  • 导出 Office 365 用户过去 90 天的活动历史记录
  • 审计 Office 365 用户在特定时间间隔内的活动
  • 获取每月用户活动报告
  • 安排用户活动报告

导出 Office 365 用户过去 90 天的活动历史记录:

由于搜索-UnifiedAuditLog拥有过去 90 天的数据,因此我们可以使用脚本最多获取过去 90 天的用户活动。要导出过去 90 天内的 Office 365 用户活动,请按如下所述运行脚本。

./UserActivityReport.ps1 -UserID [email protected] -Default

注意:如果用户分配有 Office 365 E5、Microsoft 365 E5、Microsoft 365 合规性或 E5 发现和审核附加许可证,则您可以生成 90 天以上的审核日志。在这种情况下,您可以使用 -StartDate 和 -EndDate 参数来指定时间范围。

审核 Office 365 用户在特定时间间隔内的活动

您可以通过提及 -StartDate 和 -EndDate 参数。

使用这些参数,您可以生成过去 7 天、30 天、90 天或任何其他所需时间段内 Office 365 用户的审核报告。

./UserActivityReport.ps1 -UserID [email protected] -StartDate 07/24/20 -EndDate 07/31/20

使用 PowerShell 监控管理员活动:

当发现可疑帐户时,有必要确定谁创建了该用户帐户。如果您发现管理员帐户已被盗用,则必须跟踪管理员的活动并监控他们执行的所有操作。您可以通过在 -用户 ID 参数。

./UserActivityReport.ps1 -UserID [email protected] -Default

导出的报告包含管理员过去 90 天的活动。

使用 PowerShell 跟踪外部用户活动:

您可以通过在 -UserID 参数中传递外部用户身份来审核外部用户活动。

./UserActivityReport.ps1 -UserID Emma_fabrikam.com#ext#@contoso.com -Default

导出的外部用户活动报告包含 Emma 最近 90 天的活动。

安排用户活动报告:

由于此搜索-UnifiedAuditLog 可以获取过去 90 天内用户的审核数据,因此您可能需要旧的审核数据进行分析。在这种情况下,安排将帮助您将审核日志保留 90 天以上。

要从计划程序运行 PowerShell 脚本任务,您可以使用以下格式。

./UserActivityReport.ps1 -UserID [email protected] -AdminName [email protected] -Password XXX -Default

获取每月用户活动报告:

要获取用户活动的月度报告,您可以执行以下脚本。

./UserActivityReport.ps1 -StartDate ((Get-Date).AddDays(-30)) -EndDate (Get-Date) -UserID [email protected]

上述方法在调度中很有用。

您还可以参考我们关于 Office 365 用户电子邮件活动和 Office 365 用户登录历史记录报告的专用脚本以进行进一步分析。

只需点击几下鼠标即可监控 Office 365 用户的活动:

获取更详细的用户报告

  • 登录活动
  • 发送和接收的电子邮件数量和详细信息
  • 邮箱活动,例如删除电子邮件、访问其他用户的邮箱等
  • SharePoint 文件和文件夹访问
  • 与内部和外部用户共享文件
  • OneDrive 文件访问和共享
  • 团队聊天和会议使用等等

您可以查看AdminDroid Microsoft 365 报告软件

此外,AdminDroid 还提供1600+预构建报告和20 个具有视觉吸引力的智能仪表板,让您一目了然地了解您的 Office 365 环境。该工具提供有关 Office 365 报告、审计、分析、使用统计、安全性和合规性等的报告。

[玩转系统] 使用 PowerShell 将 Office 365 用户活动报告导出为 CSV

[玩转系统] 使用 PowerShell 将 Office 365 用户活动报告导出为 CSV

此外,AdminDroid 完全免费提供100 多个报告和一些仪表板。它包括有关用户、许可证、组、组成员、设备、登录活动、密码更改、许可证更改、订阅使用情况等的报告。该工具的免费版本提供完整的报告和审核功能,对自定义、计划或导出没有限制。您可以尝试 AdminDroid 提供的免费 Office 365 报告工具,看看它如何为您带来好处。

我希望此博客对审核您组织中的 Office 365 用户活动有用。如果您有任何疑问,可以通过评论部分联系我们。

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

取消回复欢迎 发表评论:

关灯