The*_*Guy 6 azure-ad-graph-api microsoft-graph-api
我正在尝试通过非交互式登录在 Azure Active Directory 中找到重置用户密码(所有用户,而不仅仅是经过身份验证的用户)的解决方案。
现在看来,这只能通过使用服务主体登录的powershell 的 MSOnline Set-AzureADUserPasswordcmdlet获得。
我想找到一个使用 API 端点的解决方案,以便我可以使用 C#。我找到的最接近的解决方案是Microsoft Graph API,但在设置之后,我意识到我只能通过交互式登录和同意流程重置密码。不允许通过非交互式。
我的下一次尝试是使用Azure AD 端点,但我担心的是我看到了建议我们使用 Microsoft 图形 API 的相同消息。这是否意味着 Azure 广告端点将消失?
是否有不使用 PowerShell 的推荐方法?
您可以更新用户的passwordProfile属性以重置用户的密码:
PATCH https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}
Content-type: application/json
Authorization: bearer TOKEN
{
"passwordProfile":
{
"forceChangePasswordNextSignIn":false,
"password": "XXXXXXXXX"
}
}
Run Code Online (Sandbox Code Playgroud)
如文档中的解释:
更新 passwordProfile 属性时,需要以下权限:Directory.AccessAsUser.All。
然后您可以使用Resource Owner Flow因为需求需要非交互式登录。要启用Directory.AccessAsUser.All委托权限,您应该:
Access directory as the signed in user在Required permissionsAzure AD 应用的刀片中添加 Microsoft Graph 的权限:

该权限需要管理员同意,请Grant Permissions使用您的管理员帐户单击按钮。
然后您可以使用 Resource Owner Flow 获取 Microsoft Graph 的访问令牌,Directory.AccessAsUser.All权限允许管理员更改您租户中其他用户的密码。
这是否意味着 Azure 广告端点将消失?
目前,Microsoft Graph 支持 Azure AD Graph 支持的大部分目录功能,但不是全部。请参阅Microsoft Graph 和 Azure AD Graph 之间的差距
| 归档时间: |
|
| 查看次数: |
5446 次 |
| 最近记录: |