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

如何从SharePoint组内的AD安全组获取邮箱地址用于工作流

解决方案:基于嵌套AD组的SharePoint组发送邮件工作流处理

核心问题说明

你的SharePoint组由AD组嵌套填充,直接读取SharePoint组成员只能拿到AD组对象,无法获取组内具体用户,所以需要先展开嵌套结构,提取所有实际用户的邮箱。

推荐方案:用Microsoft Graph API HTTP请求获取所有用户(高效直接)

无需自行编写递归逻辑,Graph API可直接返回组的所有传递成员(含嵌套AD组内的用户),步骤如下:

  1. 获取目标SharePoint组的ID

    • 打开SharePoint站点组设置页面,从URL中提取组ID(如URL末尾的`MembershipGroupIdPm summ珍惜模式副本 implicitgenorg提供Early 有效地中最后的数字);
    • 或在Power Automate中用「获取组」动作,通过组名直接获取ID。
  2. 添加HTTP请求动作调用Graph API

    • 动作选「HTTP」,方法设为GET;
    • URI填写:https://graph.microsoft.com/v1.0/groups/{你的SharePoint组ID}/transitiveMembers/microsoft.graph.user?$select=mail
      • transitiveMembers:获取全嵌套层级的成员;
      • microsoft.graph.user:仅返回用户对象,排除嵌套的其他组;
      • $select=mail:只提取邮箱字段,精简返回数据。
    • 身份验证选「Azure AD OAuth」,填写租户ID,受众设为https://graph.microsoft.com,权限选择Group.Read.All。
  3. 提取邮箱列表

    • 用「选择」动作,从HTTP请求返回的body/value中提取mail字段,得到所有用户邮箱的数组。
  4. 发送邮件

    • 在「发送电子邮件」动作中,将提取到的邮箱数组作为收件人;若动作要求分号分隔的字符串,可通过「join」动作把数组转为邮箱1;邮箱2;...格式。

备选方案:用Power Automate自带动作递归展开组(无Graph API权限时用)

若无法使用Graph API,可通过递归逻辑处理嵌套组:

  • 先用「列出组成员」动作获取SharePoint组的直接成员;
  • 遍历每个成员,判断类型:若是用户则提取邮箱,若是组则继续调用「列出组成员」动作获取该组成员,直到所有嵌套组展开;
  • 需设置递归终止条件,避免无限循环。

关键注意点

  • 无论哪种方案,都要确保工作流拥有足够权限:读取SharePoint组、读取AD组/用户信息、发送邮件;
  • 使用Graph API时,需确认租户已开启相关权限,且Power Automate的连接配置了正确的OAuth权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 02:20:36