导出 Microsoft 365 用户上次登录日期和时间
您可以在 Microsoft Entra 管理中心和 Microsoft 365 管理中心获取用户上次成功登录活动的日期时间。缺点是它会显示用户最近 7 天的登录活动。在本文中,你将了解如何使用 Microsoft Graph PowerShell 导出 Microsoft 365 用户上次登录的日期和时间。
Microsoft 365 用户上次登录活动日期
当用户登录 Microsoft 产品时,它会将此信息保存到他们的登录活动中。如果您拥有 Microsoft Entra ID 免费许可证,则只能检查 Microsoft 365 用户过去 7 天内的最后登录活动。
上次登录活动日期与上次成功登录活动日期:
- 上次登录活动:它显示用户上次使用用户名和密码登录的时间(成功或失败)。
- 上次非交互式登录活动:显示用户上次在不使用用户名和密码的情况下登录的时间(成功或失败)。
- 上次成功登录活动:用户上次使用用户名和密码登录并成功的时间。
下表显示了 Microsoft Entra ID 免费许可证可用的不同方法。
| Microsoft portals | User data | Microsoft Entra ID license | Download CSV | Last sign-in activity | Last non-interactive sign-in activity | Last successful sign-in activity |
|---|---|---|---|---|---|---|
| Microsoft 365 admin center | Single | Free | Not available | Last 7 days | Not available | Last 7 days |
| Microsoft Entra admin center | Single and multiple users | Free | Available | Last 7 days | Last 7 days | Last 7 days |
| Microsoft Graph PowerShell | Not available | Free | Not available | Not available | Not available | Not available |
注意:要查看 7 天内的上次登录活动,您需要 Microsoft Entra ID P1 或 P2 版本许可证。
下表显示了可用于 Microsoft Entra ID P1/P2 许可证的不同方法。
| Microsoft portals | User data | Microsoft Entra ID license | Download CSV | Last sign-in activity | Last non-interactive sign-in activity | Last successful sign-in activity |
|---|---|---|---|---|---|---|
| Microsoft 365 admin center | Single | P1/P2 | Not available | Last 30 days | Not available | Last 30 days |
| Microsoft Entra admin center | Single and multiple users | P1/P2 | Available | Last 30 days | Last 30 days | Last 30 days |
| Microsoft Graph PowerShell | Single and multiple users | P1/P2 | Available | From April, 2020 | From May, 2020 | From December 1, 2023* |
*由于该房产是新房,数据将于 2023 年 12 月 1 日后开始记录签到。
注意:在 Microsoft 管理中心中,用户的上次登录活动会立即更新,但使用 PowerShell,上次登录活动将在 6 小时后显示在报告中。
我们将向您展示如何导出单个和所有 Microsoft 365 用户上次登录的日期和时间:
- 微软 Entra 管理中心
- 微软图形PowerShell
在 Microsoft Entra ID 中获取 Microsoft 365 用户登录活动
Microsoft Entra 管理中心保存过去 30 天内所有 Microsoft 365 用户的上次登录日志。我们将向您展示如何检查和导出单个和所有 Microsoft 365 用户的上次登录活动。
Microsoft Entra ID 向用户显示以下类型的登录:
- 交互式登录:登录由使用用户名和密码或 MFA(例如 Microsoft Authenticator 应用)登录的用户完成。
- 非交互式登录:代表用户完成的登录,例如不需要用户进行 MFA 身份验证的客户端应用。例如,如果用户之前登录过,它将保存下次登录,因此他们不需要提供用户名和密码或 MFA。
获取单个 Microsoft 365 用户登录日志
若要在 Microsoft Entra ID 中获取单个 Microsoft 365 用户登录活动,请按照以下步骤操作:
- 登录 Microsoft Entra 管理中心
- 展开身份 > 用户 > 所有用户
- 点击特定用户
- 点击登录日志
- 单击用户登录(交互式)选项卡
默认情况下,会显示所有交互式登录的列表以及过去 24 小时的日期和时间。如果您找不到任何登录日志,则应将日期更改为最近 1 个月,然后点击应用。
- 单击用户登录(非交互式)选项卡
默认情况下,会显示所有非交互式登录的列表以及过去 24 小时的日期和时间。如果您找不到任何登录日志,则应将日期更改为最近 1 个月,然后点击应用。
获取所有 Microsoft 365 用户登录日志
若要导出 Microsoft Entra ID 中的所有 Microsoft 365 用户登录活动,请按照以下步骤操作:
- 登录 Microsoft Entra 管理中心
- 展开身份 > 用户 > 所有用户
- 点击登录日志
- 单击用户登录(交互式)选项卡
默认情况下,会显示所有用户登录的列表以及过去 7 天的日期和时间。您随时可以更改日期,但它只能显示上个月的登录情况。
- 单击用户登录(非交互式)选项卡
默认情况下,会显示所有用户非交互式登录的列表以及过去 7 天的日期和时间。您随时可以更改日期,但它只能显示上个月的登录情况。
若要导出超过 1 个月的 Microsoft 365 用户的登录活动,您必须在下一步中使用 PowerShell。
连接到 Microsoft Graph PowerShell
在开始之前,必须安装 Microsoft Graph PowerShell 模块,包括 Microsoft Graph Beta 模块。
运行以下命令来安装 Microsoft Graph 模块。
Install-Module Microsoft.Graph -Force
Install-Module Microsoft.Graph.Beta -AllowClobber -Force重要提示:始终安装 Microsoft Graph PowerShell 和 Microsoft Graph Beta PowerShell 模块。这是因为某些 cmdlet 在最终版本中尚不可用并且无法工作。在运行 cmdlet 或脚本之前将两个模块更新到最新版本,以防止出现错误和不正确的结果。
然后,您需要使用以下范围连接到 Microsoft Graph PowerShell。
Connect-MgGraph -Scopes "User.Read.All", "AuditLog.Read.All"在接下来的步骤中,您将设置为将 cmdlet 与 Microsoft Graph PowerShell 结合使用。
使用 PowerShell 导出 Microsoft 365 用户上次登录活动报告
我们将向您展示使用 PowerShell 将 Microsoft 365 用户上次登录活动报告导出到 CSV 文件的步骤。
它将收集每个用户的以下信息:
- ID
- 用户主体名称
- 显示名称
- 用户类型
- 邮件
- 账户启用
- 上次成功登录日期
- 上次非交互式登录日期时间
- 上次登录日期时间
- 自上次成功登录以来的天数
如果您还没有 (C:) 驱动器,请创建 temp 文件夹。
使用 PowerShell 获取 Microsoft 365 用户上次登录活动
查看用户上次登录活动的日期和时间时,您将在 PowerShell 中找到以下属性:
- LastNonInteractiveSignInDateTime:特定用户上次非交互式登录(成功或失败)的日期和时间。在 PowerShell 中,它显示 2020 年 5 月以来的 Microsoft Entra ID 非交互式登录。
- LastSignInDateTime:用户尝试上次交互式登录(成功或失败)的日期和时间。在 PowerShell 中,它显示了 2020 年 4 月以来的 Microsoft Entra ID 交互式登录。
- LastSuccessfulSignInDateTime: 用户使用密码登录的最后一次成功交互日期和时间。在 PowerShell 中,它显示自 2023 年 12 月起的上次成功登录日期。
获取单个 Microsoft 365 用户上次登录活动日期时间
要获取单个用户上次登录活动,您需要使用他们的对象 ID。
运行以下 PowerShell 命令以获取单个用户的上次登录活动。
Get-MgBetaUser -UserId "944d57a0-0d24-4d55-ac5b-e9b741be9031" -Property SignInActivity | Select-Object -ExpandProperty SignInActivity | fl如果您没有用户对象 ID,则可以通过以下 PowerShell 命令使用 UserPrincipalName。
Get-MgBetaUser -Filter "UserPrincipalName eq 'Anna.Bell@m365info.com'" -Property SignInActivity | Select-Object -ExpandProperty SignInActivity | flPowerShell 输出显示单个用户的上次登录日期时间和上次成功登录日期时间。
LastNonInteractiveSignInDateTime : 05/02/2024 18.03.59
LastNonInteractiveSignInRequestId : 7b9071c3-0964-4574-b046-b5cd84b3c500
LastSignInDateTime : 31/01/2024 09.04.00
LastSignInRequestId : 7a1e3990-5e1f-4532-9f50-da26de3b0c01
LastSuccessfulSignInDateTime : 05/02/2024 18.03.59
LastSuccessfulSignInRequestId : 7b9071c3-0964-4574-b046-b5cd84b3c500
AdditionalProperties : {}导出所有 Microsoft 365 用户登录活动报告 CSV 文件
获取所有用户(包括成员和访客)上次成功登录活动的报告,并将其导出到 Out-Gridview 和 CSV 文件。
运行以下 PowerShell 脚本以导出所有用户上次登录日期和时间的完整报告。
$Users = Get-MgBetaUser -All -Property Id, UserPrincipalName, DisplayName, UserType, SignInActivity, Mail, AccountEnabled |
Select-Object Id, UserPrincipalName, DisplayName, UserType, Mail, AccountEnabled,
@{n = "LastSuccessfulSignInDateTime"; e = { $_.SignInActivity.LastSuccessfulSignInDateTime } },
@{n = 'LastNonInteractiveSignInDateTime'; e = { $_.SignInActivity.LastNonInteractiveSignInDateTime } },
@{n = 'LastSignInDateTime'; e = { $_.SignInActivity.LastSignInDateTime } },
@{n = 'DaysSinceLastSuccessfulSignIn'; e = { (New-TimeSpan -Start $_.SignInActivity.LastSuccessfulSignInDateTime -End (Get-Date)).Days } }
$Users | Out-GridView -Title "Last sign-in activity report"
$Users | Export-Csv -Path "C:\temp\LastSignInActivity.csv" -NoTypeInformation -Encoding utf8将出现 Out-GridView,您可以在其中搜索和过滤属性。
使用 Microsoft Excel 等应用程序打开 CSV 文件可以看到相同的结果。
它是否可以帮助您将所有 Microsoft 365 用户的上次登录时间保存到 CSV 文件中?
了解更多:使用 CSV 文件批量创建 Microsoft 365 用户 »
结论
您了解了如何导出 Microsoft 365 用户上次登录日期和时间。这可以在 Microsoft Entra 管理中心或 PowerShell 中完成。 Microsoft Entra 管理中心显示过去 30 天内用户上次交互式和非交互式登录日志。更好的方法是使用 Microsoft Graph PowerShell 导出所有用户登录活动的报告,因为它将显示 30 多天的结果。
请记住,Microsoft Entra ID 免费许可证有限制,并且您需要 Microsoft Entra ID P1/P2 许可证才能充分利用它。
您喜欢这篇文章吗?您可能还喜欢使用 PowerShell 将联系人批量导入到 Microsoft 365。不要忘记关注我们并分享这篇文章。






