允许在1个查询中仅查找特定组的用户成员

时间:2018-12-10 14:27:53

标签: microsoft-graph

我正在尝试建立一个查询,该查询返回所有符合条件(UPN以“ AAD”开头)并且是特定AAD组成员的用户。例如:

/users?$filter=(startswith(UserPrincipalName, 'aad') and memberOf eq 'GroupID')

但这不起作用。 Graph Explorer会为两个1.0 / Beta版本返回错误“无效的过滤子句”。
我知道我可以拆分它:

  1. 获取所有符合我条件的用户(例如,UPN以“ AAD”开头)
  2. 对于返回的每个用户,请检查他是否是AAD组的成员。

但这意味着对于返回的每个用户,必须执行1个附加查询,这并不是很优化。

在Azure AD中可以进行这种查询吗?

1 个答案:

答案 0 :(得分:0)

您不能像这样过滤两个目录对象(即过滤users groups)。您需要提取数据并在客户端上执行两项操作之一。

考虑到这一点,最好不要翻转此查询。而不是拉出以“ aad”开头的用户,而是拉出组的所有成员并在客户端上解析userPrincipalName

https://graph.microsoft.com/v1.0/groups/{id}/members?$select=userPrincipalName