2015-11-02 24 views
2

能够为非管理员用户重置密码。但不适用于具有管理员目录角色的用户。如何使用Azure图形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

回答

1

我在同样的情况是,你被改变,但与所有用户。目前有一个使用Azure图形API重新设置密码的Web应用程序。我的本地客户端& Web应用程序在Azure AD界面中启用了每个权限。

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

搜索“注意:无权重置用户密码”。再次没有提到替代解决方案。

如果我找到解决方案,我会更新我的答案,但现在这导致我很多头痛。如果您有任何关于如何为常规用户工作的提示,那也会很棒!

2

我们遇到了和凯尔一样的问题。通过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 

现在终于可以无需重写我们的应用程序了:-)

相关问题