如何使用Azure Graph API重置全局管理员密码?

时间:2015-11-02 20:43:15

标签: azure azure-ad-graph-api

能够为非管理员用户重置密码。但不适用于具有管理员目录角色的用户。

按文件记录:https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/users-operations#ResetUserPassword

响应: 代码:Authorization_RequestDenied 消息:没有足够的权限来完成操作。

我在AzureAD中配置了具有所有应用程序和委派权限(读取和写入目录数据等)的应用程序。

用Google搜索并找到一篇相关帖子:最近更改了权限范围http://blogs.msdn.com/b/aadgraphteam/archive/2015/10/06/new-graph-api-consent-permissions.aspx

2 个答案:

答案 0 :(得分:3)

我们和凯尔有同样的问题。通过Graph API重置密码突然停止为所有用户工作。最后,我们得到了微软支持部门的帮助。

最近有一个更新来修复安全漏洞:https://support.microsoft.com/en-us/kb/3004133

目前,将应用程序添加到所需管理角色的唯一方法是通过PowerShell ...
您还需要按照此处的说明安装Azure AD cmdlet: https://msdn.microsoft.com/en-us/library/azure/jj151815.aspx#bkmk_installmodule

我们还得到了一个与KB中显示的示例略有不同的示例:

$tenant = "<Tenant Name>"
$tenantGuid = "<Guid for Tenant>"
$graphver = "1.5"
$appID = "<Application ID>"

$userVal = "<username>@" + $tenant
$pass = "<password>"
$Creds = New-Object System.Management.Automation.PsCredential($userVal, (ConvertTo-SecureString $pass -AsPlainText -Force))

Connect-MSOLSERVICE -Credential $Creds
$msSP = Get-MsolServicePrincipal -AppPrincipalId $appID -TenantID $tenantGuid

#ID of the Application
$objectId = $msSP.ObjectId

Add-MsolRoleMember -RoleName "Company Administrator" -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId

现在最终它无需重写我们的应用程序: - )

答案 1 :(得分:1)

我和你一样,但是和所有用户一样。目前有一个使用Azure Graph API重置密码的Web应用程序。 Azure AD界面中的每个权限都适用于我的本机客户端和网络应用程序。

我发现this reference(上次修改时间为2015年10月30日),这是您在此处发布的博客文章中链接的。不幸的是,它没有任何关于如何更改密码的信息,但它确实证实了您对权限范围变更的怀疑。

搜索&#34;注意:无权重置用户密码&#34;。同样没有提到替代解决方案。

如果我找到解决方案,我会更新我的答案,但是现在这让我很头疼。如果您有任何关于如何让普通用户使用它的提示,那也很棒!