You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询Azure AD GUI中显示的用户上次登录时间(超30天)?

查询Azure AD用户超过30天的上次登录时间方案

Azure AD门户用户详情页显示的上次登录时间,是整合了交互式登录(用户手动操作登录)和非交互式登录(如应用程序自动登录)的最终时间戳,对应Graph API中的LastSignInDateTime字段。要查询超过30天的该记录,可通过Microsoft Graph PowerShell模块实现,步骤如下:

1. 准备工作

  • 安装并连接Microsoft Graph PowerShell模块:
# 安装模块(未安装时执行)
Install-Module Microsoft.Graph -Force
# 连接Graph并授予日志读取权限
Connect-MgGraph -Scopes AuditLog.Read.All, Directory.Read.All

2. 查询门户显示的用户上次登录时间

直接获取所有用户的LastSignInDateTime字段,该字段会自动返回用户最近一次的登录时间(涵盖交互式/非交互式场景),只要日志在保留期内即可查询:

Get-MgUser -All -Property Id, DisplayName, UserPrincipalName, LastSignInDateTime | 
Select-Object DisplayName, UserPrincipalName, LastSignInDateTime

3. 按需查询细分登录记录

如果需要区分登录类型或查看具体事件详情,可分别查询对应的日志集合:

  • 查询指定时间范围的交互式登录记录:
# 替换2023-01-01为目标起始日期
Get-MgAuditLogSignIn -Filter "CreatedDateTime ge 2023-01-01T00:00:00Z" -All | 
Select-Object UserDisplayName, UserPrincipalName, CreatedDateTime, SignInType
  • 查询指定时间范围的非交互式登录记录:
Get-MgAuditLogNonInteractiveUserSignIn -Filter "CreatedDateTime ge 2023-01-01T00:00:00Z" -All | 
Select-Object UserDisplayName, UserPrincipalName, CreatedDateTime

注意事项

  • 仅Azure AD Premium P1/P2许可证支持将登录日志保留超过30天(最长365天),免费版仅能查看最近30天的日志。
  • 若用户从未登录过Azure AD,LastSignInDateTime会返回null。
  • 首次连接Graph时,需使用具备对应权限的管理员账户完成授权。

内容的提问来源于stack exchange,提问作者Bridystone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 17:17:01