寻求触发O365管理员重置密码并发邮件的Microsoft Graph API调用
关于通过Microsoft Graph API触发O365管理员后台重置密码并接收密码邮件的方案
你的需求是可行的,但你当前使用的更新passwordProfile字段的方式无法触发「将登录信息发送给我」的邮件通知,需要改用专门的resetPassword API动作来实现。
核心实现方式
直接调用Microsoft Graph API的用户重置密码动作,通过指定参数触发邮件通知:
API请求示例
POST https://graph.microsoft.com/v1.0/users/{user-id}/resetPassword Content-Type: application/json { "newPassword": "'"$PASSWORD"'", "sendNotificationMessage": true }
参数说明
newPassword:替换为你用openssl rand -base64 12生成的随机密码,和你现有逻辑一致sendNotificationMessage: 设置为true时,系统会自动向执行该操作的管理员邮箱发送包含新密码的通知邮件,对应O365后台重置密码时勾选「将登录信息发送给我」的效果
对比你当前的代码问题
你现在用的是更新用户passwordProfile的方式:
"passwordProfile": { "forceChangePasswordNextSignIn": true, "password": "'"$PASSWORD"'" }
这种操作仅会重置用户密码并强制其下次登录修改,但不会触发管理员的密码通知邮件,因此无法满足你的需求。
注意事项
- 权限要求:执行操作的账户必须拥有全局管理员、用户管理员权限,或已被分配
UserAuthentication.ReadWrite.All/Directory.AccessAsUser.All的Microsoft Graph API权限 - 密码规则:生成的密码必须符合你的O365租户密码复杂度策略,否则API会调用失败
- 邮件接收:确保执行操作的管理员邮箱状态正常,能接收微软发送的系统通知邮件
内容的提问来源于stack exchange,提问作者Ken Camarador
相关产品推荐
相关产品推荐

