繁体   English   中英

如何获取 Azure AD 用户的上次登录时间?

[英]How to get Azure AD user's last login time?

我正在使用适用于 .NET 的 Azure AD Graph 客户端库来检索和管理用户帐户。 我希望能够找出用户上次登录的时间戳。 但是,从库返回的对象属于 Microsoft.Azure.ActiveDirectory.GraphClient.User 类型,并且不包含任何此类属性。

我也无法在 Azure 管理控制台网站上看到任何与登录时间相关的信息。 用户配置文件的设备和活动部分始终为空,即使对于我知道处于活动状态的用户也是如此。

遗憾的是 Azure 没有公开 User 对象的last_logon属性,

甚至设备实体也有这样的属性( approximateLastLogonTimeStamp

完全同意。 本地 AD 包括这个; 令人失望的是,它并不容易在 Azure AD (AAD) 中获得。

如果您的租户拥有 P1 或更高的 AAD 许可证,则一种选择是使用https://graph.microsoft.com/beta/auditLogs/signIns/端点。

您可以在https://docs.microsoft.com/en-us/graph/api/signin-list?view=graph-rest-beta获取更多信息。

我知道这有点晚了,但是这个脚本为我做到了:

Get-ADUser -Filter * -Properties LastLogonTimeStamp, whenCreated |

Select-Object Name,SamAccountName, whenCreated,enabled,@{Name="LastLogonDate"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp).ToString('yyyy-MM-dd hh:mm:ss')}} | Export-Csv -Path C:\Temp\ExportUsers.csv –notypeinformation

Ps 这是一个 powershell 脚本(所以不是图形客户端库)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM