Microsoft Graph Api-Change密码

时间:2017-08-23 06:21:49

标签: azure-ad-graph-api

我在Azure AD中创建了用户,并在Microsoft graph api的帮助下尝试更改用户密码,但收到错误消息需要管理员权限。 感谢帮助

4 个答案:

答案 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中键入的命令序列,以使您的应用具有帮助台管理员的角色。

  1. Install-Module MSOnline
  2. Install-Module AzureAD
  3. Connect-MsolService(此后,系统将提示您登录,登录的用户应为全局管理员)
  4. Connect-AzureAD(此后,系统将提示您登录,登录的用户应为全局管理员)
  5. $tenantID= "yourtenantid"
  6. $appID = "your app id"
  7. $myAp = Get-MsolServicePrincipal -AppPrincipalId $appID -TenantID $tenantID
  8. $objectId = $myAp.ObjectId
  9. 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!"
}

然后密码将成功更新!