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

使用Microsoft Graph查询AAD用户总数时出错,求解决方法

问题分析与解决

你遇到的报错主要有两个原因:代码写法错误,以及未启用Azure AD的高级查询功能,具体解决如下:

一、修正代码中的错误

原代码重复调用了.Request()方法,导致$count参数没有被正确应用;同时邮箱后缀筛选建议加上@(避免误匹配类似xxxtenant.com的非目标邮箱)。正确代码如下:

var result = await _graphServiceClient
    .Users
    .Request(new[] { new QueryOption("$count", "true") })
    .Header("ConsistencyLevel", "eventual")
    .Filter("endsWith(mail,'@tenant.com')")
    .GetAsync();

// 提取用户总数
int totalCount = int.Parse(result.AdditionalData["@odata.count"].ToString());

二、启用Azure AD高级查询功能

使用endsWith这类OData高级筛选函数和$count参数,必须先开启Azure AD的对应配置:

  • 登录Azure门户,进入Azure Active Directory
  • 左侧菜单选择用户设置(部分门户版本显示为“目录设置”)
  • 找到允许对目录对象使用高级查询功能选项,设置为是
  • 保存设置,等待数分钟让配置生效

完成以上两步后,即可正常执行查询并获取符合条件的用户总数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:50:24