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

PowerApps中Office365Users.SearchUserV2无法显示AD全部用户求助

问题解决方案

核心原因

你遇到的问题源于Office365Users.SearchUserV2依赖的Microsoft Graph API /search/users端点的两个限制:

  1. 返回条数上限:即便设置top:99999,该接口实际最多仅返回999条结果;
  2. 无序返回:未指定排序规则时,接口返回的用户顺序无固定逻辑,恰好你的环境中前999条用户的名称集中在以"I"及之前字母开头的范围。

解决方案

方案1:改用ListUsersV2分页获取全量用户(推荐)

SearchUserV2是搜索导向的接口,适合精准检索;若需获取所有符合条件的用户,改用ListUsersV2并通过分页加载全量用户到集合,再在本地过滤更可靠。

  1. 在App的OnStart属性中添加以下代码,加载所有用户到集合:
ClearCollect(colAllUsers, Office365Users.ListUsersV2({top:999}).value);
Set(varNextLink, Office365Users.ListUsersV2({top:999}).odata.nextLink);
DoUntil(IsBlank(varNextLink),
    Collect(colAllUsers, Office365Users.ListUsersV2({nextLink:varNextLink}).value);
    Set(varNextLink, Office365Users.ListUsersV2({nextLink:varNextLink}).odata.nextLink)
)
  1. 将下拉控件DataCardValue10的Items属性修改为:
Filter(
    colAllUsers,
    AccountEnabled = true,
    !IsBlank(JobTitle),
    StartsWith(DisplayName, Trim(Self.SearchText))
)

方案2:调整SearchUserV2参数(快速临时解决)

如果不想加载全量用户,可以给SearchUserV2指定排序规则,确保结果按名称有序返回,避免只显示到"I"开头的用户:

Filter(
    Office365Users.SearchUserV2(
        {
            SearchTerm: Trim(Self.SearchText),
            isSearchTermRequired: false,
            top: 999,
            orderBy: "DisplayName"
        }
    ).value,
    AccountEnabled = true,
    !IsBlank(JobTitle)
)

注意:此方案仍受999条结果上限限制,若符合条件的用户超过999,仍会出现截断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 19:47:29