You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Graph中onPremisesExtensionAttributes属性过滤查询问询

解决Microsoft Graph过滤onPremisesExtensionAttributes的问题

我来帮你搞定这个过滤的问题——你尝试的第二个查询路径其实是对的,但可能是因为一些容易忽略的细节导致没生效,下面给你拆解正确的用法和排查要点:

正确的查询语法

首先,确认使用**onPremisesExtensionAttributes/extensionAttribute1**这个完整路径来过滤,正确的请求应该是:

GET https://graph.microsoft.com/v1.0/users?$filter=onPremisesExtensionAttributes/extensionAttribute1 eq 'attr1'

(也可以用beta版本,但v1.0已经支持这个过滤,更推荐用稳定版)

为什么你的尝试没成功?

大概率是以下几个原因之一:

  • 权限不足:要过滤用户的扩展属性,你需要至少拥有User.Read.All(委派权限)或Directory.Read.All(应用权限)的权限,而且必须是已授予的权限(不是仅同意的)。如果用的是委派权限,登录的用户还需要有足够的目录访问权限。
  • 属性未同步到Azure AD:onPremisesExtensionAttributes是从本地AD同步过来的属性,如果你的本地AD里的extensionAttribute1没有通过AD Connect同步到Azure AD,那Graph里根本查不到这个值,自然过滤不到结果。可以先单独获取一个用户的详情,确认onPremisesExtensionAttributes下的对应属性确实存在且有值。
  • null值干扰:如果大部分用户的extensionAttribute1是null,Graph的过滤不会自动排除这些,但你的查询是匹配等于'attr1'的,所以这个影响不大,但可以加上and onPremisesExtensionAttributes/extensionAttribute1 ne null来明确排除null的情况。

额外注意事项

  • 扩展属性的过滤只支持eq、ne、startswith这些基础操作,不支持contains这类模糊匹配(至少在v1.0里是这样)。
  • 确保请求的头部里包含有效的身份验证令牌,令牌的受众是https://graph.microsoft.com。

内容的提问来源于stack exchange,提问作者Michael Tucker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:29:12