Azure ad graph api Microsoft Graph Api更改密码

Azure ad graph api Microsoft Graph Api更改密码,azure-ad-graph-api,Azure Ad Graph Api,我已经在Azure AD中创建了用户,并在Microsoft graph api的帮助下尝试更改用户的密码,但需要管理员权限才能获得错误消息。 非常感谢您的帮助我不确定您使用的是哪种api,Azure AD Graph api还是Microsoft Graph api。但无论哪种api,更改密码操作都用于登录用户更改自己的密码: microsoft图形api: POST https://graph.microsoft.com/v1.0/me/changePassword Content-Type

我已经在Azure AD中创建了用户,并在Microsoft graph api的帮助下尝试更改用户的密码,但需要管理员权限才能获得错误消息。
非常感谢您的帮助

我不确定您使用的是哪种api,Azure AD Graph api还是Microsoft Graph api。但无论哪种api,更改密码操作都用于登录用户更改自己的密码:

microsoft图形api:

POST https://graph.microsoft.com/v1.0/me/changePassword
Content-Type: application/json
{
  "currentPassword": "Test1234!",
  "newPassword": "Test5678!"
}
POST https://graph.windows.net/me/changePassword?api-version=1.6
Content-Type: application/json
{
  "currentPassword": "138122cC@",
  "newPassword": "138122c@"
}
Azure AD图形api:

POST https://graph.microsoft.com/v1.0/me/changePassword
Content-Type: application/json
{
  "currentPassword": "Test1234!",
  "newPassword": "Test5678!"
}
POST https://graph.windows.net/me/changePassword?api-version=1.6
Content-Type: application/json
{
  "currentPassword": "138122cC@",
  "newPassword": "138122c@"
}
请参阅文件:

注意:此操作只能在登录用户上调用。除了如下所示使用me别名对操作进行寻址外,还可以使用/users//changePassword或/users/userPrincipalName/changePassword,但如果使用这些寻址模式,则目标用户必须是登录用户

如果目标用户不是登录用户,它将抛出错误:
更改密码操作的访问被拒绝。
{
“passwordProfile”:{
“forceChangePasswordNextSignIn”:false,
“密码”:“新密码”
}

}
创建应用程序的用户或应用程序中的用户必须在角色设置中指定为“用户管理员”。

要更改密码,您需要为应用程序指定“帮助台管理员”角色,该角色必须通过windows powershell完成

以下是要在Windows Power shell中键入的命令序列,以使您的应用程序具有帮助台管理员的角色

  • MSOnline安装模块
  • 安装模块AzureAD
  • Connect-MsolService
    (之后会提示您登录,登录的用户应该是全局管理员)
  • Connect AzureAD
    (之后会提示您登录,登录的用户应该是全局管理员)
  • $tenantID=“yourttenantid”
  • $appID=“您的应用程序id”
  • $myAp=Get MsolServicePrincipal-AppPrincipalId$appID-TenantID$TenantID
  • $objectId=$myAp.objectId
  • 添加MsolRoleMember-RoleName“帮助台管理员”-RoleMemberType服务主体
  • -
    RoleMemberObjectId$objectId

    完成所有这些步骤后,如果

    POST https://graph.microsoft.com/v1.0/me/changePassword
    Content-Type: application/json
    {
      "currentPassword": "Test1234!",
      "newPassword": "Test5678!"
    }
    

    然后密码将被成功更新

    您正在尝试更改其他用户的密码吗?或者您的登录用户?我正在尝试更改其他用户的密码以及我的登录用户可能重复:可能重复感谢该链接-changePassword端点上的文档被深埋!我不认为Microsoft Graph API代码片段是正确的,不认为您可以用Microsoft Graph API执行您的建议。@mattruma,答复是2017年,两年可能会改变一切。我现在还没有证实这一点。我认为这个答案不正确,至少现在是这样。如果您的应用程序的Graph API权限足够,您今天完全可以使用下面Acrhaf C.建议的端点和修补程序来完成此操作。@user12861您能详细介绍一下您的体验吗?因为它在2021年不适用于我。这完全适用于Graph API(如果您的权限足够的话)。为什么不给你投票?