如何通过Microsoft Graph API创建共享邮箱并转换用户邮箱为共享邮箱
使用Microsoft Graph API创建共享邮箱及转换用户邮箱为共享邮箱的方法
我来帮你梳理下用Microsoft Graph API创建共享邮箱,以及把现有用户邮箱转成共享邮箱的具体步骤,都是实际操作中验证过的方法:
一、直接创建共享邮箱
共享邮箱本质是一个禁用状态、无许可证的特殊用户账户,我们可以通过Graph API直接创建并配置其邮箱属性:
- 发送
POST请求到以下端点:https://graph.microsoft.com/v1.0/users - 请求体需要包含用户基础信息,同时指定邮箱类型为
Shared,并禁用账户(因为共享邮箱不能用于登录)。示例请求体:{ "accountEnabled": false, "displayName": "Marketing Shared Mailbox", "mailNickname": "marketing-shared", "userPrincipalName": "marketing-shared@contoso.com", "passwordProfile": { "forceChangePasswordNextSignIn": false, "password": "RandomComplexPass123!" }, "mailboxSettings": { "type": "Shared" } }注意:哪怕账户是禁用状态,
passwordProfile依然是必填项,随便设置一个符合复杂度要求的密码即可。另外不需要给这个账户分配任何许可证,共享邮箱不需要许可证就能正常使用。
二、将现有用户邮箱转换为共享邮箱
如果已经有一个正常的用户邮箱(带Exchange Online许可证),要转成共享邮箱,需要分两步操作:
步骤1:移除用户的Exchange Online许可证
共享邮箱不需要许可证,所以先把用户的Exchange许可证移除:
- 发送
PATCH请求到:https://graph.microsoft.com/v1.0/users/{user-id} - 请求体示例(替换
<Exchange SKU ID>为你实际的许可证SKU ID):{ "assignedLicenses": [ { "removeLicenses": ["<Exchange Online许可证的SKU ID>"], "addLicenses": [] } ] }
步骤2:修改邮箱类型为共享
许可证移除完成后,更新用户的邮箱设置:
- 发送
PATCH请求到:https://graph.microsoft.com/v1.0/users/{user-id}/mailboxSettings - 请求体:
{ "type": "Shared" }
补充:转换完成后,该用户账户会自动被禁用(如果没禁用的话,你也可以手动通过
PATCH请求设置accountEnabled: false),确保它不能被用于登录。
权限要求
无论创建还是转换操作,你都需要拥有以下权限之一(根据你的场景选择):
User.ReadWrite.All(应用权限或委派权限)MailboxSettings.ReadWrite.All(应用权限或委派权限)- 更高权限的管理员角色,比如全局管理员、Exchange管理员等
内容的提问来源于stack exchange,提问作者Manojkumar
相关产品推荐
相关产品推荐

