使用Microsoft Graph Client在Azure AD创建用户:缺失邮箱/备用邮箱属性
解决Microsoft Graph创建用户时设置邮箱/备用邮箱的问题
刚看到你用Microsoft Graph Client创建Azure AD用户成功了,但卡在了邮箱属性的设置上——其实对应的属性就在User对象里,只是可能没注意到,我给你梳理清楚:
- 主邮箱地址:对应
Mail属性,用来设置用户的主要电子邮件账号 - 备用邮箱地址:对应
OtherMails属性,这是一个字符串数组,可以添加多个备用联系邮箱
下面是修改后的代码示例,直接把这两个属性加进去就能用:
await client.Users.Request() .AddAsync(new User() { AccountEnabled = true, DisplayName = displayName, PasswordProfile = new PasswordProfile() { ForceChangePasswordNextSignIn = true, Password = "P@ssword123" }, UserPrincipalName = $"{displayName}@{domain}", MailNickname = displayName, // 设置主邮箱 Mail = $"{displayName}@{domain}", // 设置备用邮箱(支持添加多个) OtherMails = new List<string> { $"backup_{displayName}@{domain}", $"secondary_{displayName}@{domain}" } });
额外提醒几点:
- 权限要到位:你的应用必须拥有
User.ReadWrite.All或者Directory.ReadWrite.All的应用权限(委托权限在部分场景下可能受限),不然设置这些属性会返回权限不足的错误。 - 主邮箱的自动同步:如果后续给用户分配Exchange Online许可证,
Mail属性可能会被Exchange自动覆盖为对应的邮箱地址,这种场景下可以不用手动设置,等系统同步就行。 - 备用邮箱的用途:
OtherMails里的地址会被用于密码重置通知、账户安全告警等场景,适合添加用户的私人邮箱或者备用工作邮箱。
内容的提问来源于stack exchange,提问作者Rocket Singh
相关产品推荐
相关产品推荐

