如何使用Microsoft Graph API查询分配Dynamics许可证用户的登录记录
关于通过Microsoft Graph API获取Dynamics许可证用户登录记录的解答
可以通过Microsoft Graph API实现你需要的许可证使用情况统计需求,具体实现逻辑和注意事项如下:
实现步骤
- 第一步:拉取租户内所有已分配Dynamics类许可证的用户清单
调用GET /users接口,搭配$expand=assignedLicenses参数获取所有用户的许可证分配信息,匹配你租户内Dynamics对应许可证的skuId,筛选出符合条件的用户列表。 - 第二步:拉取目标用户的Dynamics相关应用登录记录
调用GET /auditLogs/signIns审计日志接口,你可以通过appDisplayName contains 'Dynamics'条件直接过滤所有Dynamics授权应用的登录记录,也可以结合第一步筛选出的用户ID做批量过滤,只要用户在你统计的时间范围内存在任意一条成功的对应应用登录记录,即可判定为许可证有效使用。
注意事项
- 调用接口前需要给你的应用申请对应的Graph API应用权限:拉取用户许可证需要
User.Read.All权限,拉取登录审计日志需要AuditLog.Read.All、Directory.Read.All权限,所有权限都需要租户全局管理员完成授权后才可正常调用。 - Microsoft Entra默认的登录日志保留期为30天,如果你需要统计更长周期的许可证使用数据,建议定期拉取日志存储到本地做持久化统计。
- 你可以直接在登录日志接口的筛选参数里同时关联用户和应用条件,单次查询即可直接获取你需要的有效使用数据,无需多次调用接口做匹配。
内容的提问来源于stack exchange,提问作者Kumar Vivek
相关产品推荐
相关产品推荐

