我在Azure AD中创建了用户,并在Microsoft graph api的帮助下尝试更改用户密码,但收到错误消息需要管理员权限。 感谢帮助
答案 0 :(得分:2)
我不确定您使用的是哪种API,Azure AD Graph API或Microsoft Graph api。但是没有一个api,更改密码操作用于登录用户更改自己的密码:
microsoft graph api:
POST https://graph.microsoft.com/v1.0/me/changePassword
Content-Type: application/json
{
"currentPassword": "Test1234!",
"newPassword": "Test5678!"
}
Azure AD Graph api:
POST https://graph.windows.net/me/changePassword?api-version=1.6
Content-Type: application/json
{
"currentPassword": "138122cC@",
"newPassword": "138122c@"
}
请参阅文件:https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/functions-and-actions#changePassword
注意:只能在登录用户上调用此操作。除了使用如下所示的me别名来解决操作之外,还可以使用/ users // changePassword或/ users / userPrincipalName / changePassword,但如果使用这些寻址模式,则目标用户必须是登录用户。
如果目标用户不是登录用户,则会抛出错误:Access to change password operation is denied.
答案 1 :(得分:1)
{
"passwordProfile": {
"forceChangePasswordNextSignIn": false,
"password": "newPassword"
}
}

尝试修补并更改属性。这对我来说也很有用。
答案 2 :(得分:0)
创建应用程序的用户或应用程序中的用户必须在角色设置中分配为“用户管理员”。
答案 3 :(得分:0)
要更改密码,您需要为应用程序赋予“帮助台管理员”的角色,该角色必须通过Windows powershell来完成。
以下是在Windows Power Shell中键入的命令序列,以使您的应用具有帮助台管理员的角色。
Install-Module MSOnline
Install-Module AzureAD
Connect-MsolService
(此后,系统将提示您登录,登录的用户应为全局管理员)Connect-AzureAD
(此后,系统将提示您登录,登录的用户应为全局管理员)$tenantID= "yourtenantid"
$appID = "your app id"
$myAp = Get-MsolServicePrincipal -AppPrincipalId $appID -TenantID $tenantID
$objectId = $myAp.ObjectId
Add-MsolRoleMember -RoleName "Helpdesk Administrator" -RoleMemberType ServicePrincipal
-RoleMemberObjectId $objectId
完成所有这些步骤之后,如果可以
POST https://graph.microsoft.com/v1.0/me/changePassword
Content-Type: application/json
{
"currentPassword": "Test1234!",
"newPassword": "Test5678!"
}
然后密码将成功更新!