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

如何通过Microsoft Graph API添加Office 365/Exchange Online用户并分配许可证

通过Microsoft Graph API在Office 365/Exchange Online中添加用户并分配许可证

可行性说明

完全可行。Exchange Online的用户本质是Azure Active Directory(Azure AD)中的用户,只要通过Microsoft Graph API创建Azure AD用户并分配包含Exchange Online组件的Office 365许可证,该用户会自动同步到Exchange Online,无需单独在Exchange中创建用户。

实现步骤

1. 准备工作:注册应用并配置权限

在Azure AD中注册一个应用程序,为其分配以下应用权限(后台编程场景需用应用权限,而非委派权限):

  • User.ReadWrite.All:用于创建和管理用户
  • License.ReadWrite.All:用于分配许可证
    分配权限后,获取应用的客户端ID、租户ID和客户端密钥,用于调用API时的身份验证。

2. 创建Azure AD用户(同步至Exchange Online)

调用POST /users接口创建用户,示例请求体如下:

{
  "accountEnabled": true,
  "displayName": "John Doe",
  "mailNickname": "johndoe",
  "userPrincipalName": "john.doe@contoso.com",
  "passwordProfile": {
    "forceChangePasswordNextSignIn": true,
    "password": "P@ssw0rd123!"
  }
}
  • accountEnabled必须设为true,否则无法分配许可证
  • userPrincipalName需符合租户的域名格式
  • 密码需满足租户的密码策略

3. 获取可用的许可证SKU

调用GET /subscribedSkus接口,获取租户已订阅的许可证SKU信息。响应中每个SKU的skuId是分配许可证时需要的标识,例如包含Exchange Online的ENTERPRISEPREMIUM(E5)许可证。

4. 为用户分配许可证

调用POST /users/{userId}/assignLicense接口,将指定SKU分配给用户,示例请求体如下:

{
  "addLicenses": [
    {
      "skuId": "6fd2c87f-b296-42f0-b197-1e91e994b900" // 替换为你的许可证SKU ID
    }
  ],
  "removeLicenses": []
}
  • userId可以是用户的userPrincipalName或Azure AD对象ID
  • 分配成功后,用户会自动同步到Exchange Online,一般几分钟内完成

注意事项

  • 确保应用已获得足够的权限,且权限已被管理员授予同意
  • 许可证SKU必须是租户已订阅的可用SKU,否则分配会失败
  • 创建用户时,mailNickname不能与现有用户重复
  • 若需用户直接使用Exchange Online功能,分配许可证后可能需要等待同步完成(通常不超过10分钟)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:20:53