【问题标题】:Is it possible to query Azure Active Directory users based on last modified date?是否可以根据上次修改日期查询 Azure Active Directory 用户?
【发布时间】:2022-07-07 08:55:37
【问题描述】:

我需要从 Azure Active Directory 中获取自特定日期以来创建/修改的用户。 这是否可能,通过图表或任何其他方式?

我检查了图形 api 文档,但看不到 lastModified 过滤器。

【问题讨论】:

标签: azure-active-directory microsoft-graph-api


【解决方案1】:

Microsoft Graph 中没有名为 lastModifiedDateTime 的此类属性。

按照@Tiny Wang的建议,您可以使用createdDateTime进行查询。

Azure CLI,要获取自特定日期以来创建的 Azure AD 用户,请使用以下命令:

az ad user list --filter "createdDateTime ge datetime'yyyy-MM-ddTHH:mm:ssZ'"

Microsoft Graph API 获取自特定日期以来创建的 Azure AD 用户,请使用以下命令:

https://graph.microsoft.com/beta/users?$filter=createdDateTime ge yyyy-MM-ddTHH:mm:ssZ &$select=displayName,createdDateTime,id

在使用上述命令之前,请确保提供以下权限

参考资料:

How to get list of recently created AD users from azure active directory using Azure CLI - Stack Overflow

Microsoft Graph User last modified field - Stack Overflow

Get a user - Microsoft Graph beta | Microsoft Docs

【讨论】:

  • 谢谢。在这种情况下,创建日期没有用,因为用户的其他属性会定期更改,这就是为什么我需要识别自特定日期以来已更改/已修改的用户。这是否意味着无法识别自特定日期以来发生更改的用户?
  • 嗨@wilson_smyth!正如我已经提到的,lastmodifieddatetime 属性不存在。但是,如果该更改与 lastSignInDateTime 有点相关,您可以利用此 Graph API query 获取特定时间范围内最后登录用户的列表跨度>
  • 只是 az 命令中的一个细节(我无法编辑答案)。命令应该是 az ad user list --filter "createdDateTime ge datetime'yyyy-MM-ddTHH:mm:ssZ'" datetime 后面没有空格。
【解决方案2】:

如评论中所述,modifiedDateTime 资源类型上没有 modifiedDateTime 或类似属性。

如果您想过滤自特定日期以来创建的用户,则可以使用createdDateTime 属性。

获取自 2022 年 1 月 1 日以来创建的用户的示例

GET /users?$filter=createdDateTime ge 2022-01-01T00:00:00Z

在 2021 年创建用户的示例

GET /users?$filter=(createdDateTime ge 2021-01-01T00:00:00Z AND createdDateTime le 2021-12-31T23:59:59Z)

【讨论】:

  • 谢谢。在这种情况下,创建日期没有用处,因为用户的其他属性会定期更改。这是否意味着无法识别自特定日期以来发生更改的用户?
猜你喜欢
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 2015-01-02
相关资源
最近更新 更多