查找架构扩展属性设置为null的所有资源用户

问题描述

我们有一个场景,我们需要扩展AAD中的现有模式以供用户支持我们的用例。一旦创建了新用户(我们不控制此过程),我们想将一些附加信息附加到对象上。我们还希望将信息附加到所有已经存在的用户对象上。尽管Graph API中的架构扩展可以为我们解决此问题。

我已经基于tutorial here添加了架构定义。我们的扩展名为 ext7sumrsqd_policies ,并具有以下属性

  • IsHandled(布尔值)
  • SuggestedOwner(字符串)

创建扩展名后,我想查找未设置新“属性”的所有用户(想象一个同步运行在intervall上,并且想要检查尚未处理的新用户)。 / p>

首先尝试以下查询https://graph.microsoft.com/v1.0/users?$filter=ext7sumrsqd_policies eq null

但是Graph API不支持带null的过滤器。

因此尝试过滤新扩展名的任何属性

  • https://graph.microsoft.com/v1.0/users?$filter=ext7sumrsqd_policies/IsHandled eq false
  • https://graph.microsoft.com/v1.0/users?$filter=ext7sumrsqd_policies/IsHandled eq true

但是,此过滤器从不返回具有ext7sumrsqd_policies = null的任何用户

有什么方法可以为当前缺少架构扩展属性或该属性为null的资源过滤Graph API?

解决方法

如上所述,不支持通过null进行过滤。您可以尝试创建另一个架构扩展,例如ext7sumrsqd_hasPolicies,它指定ext7sumrsqd_policies是否为null。