Azure 自动化 - 使用管理单元设置用户密码
Azure Automation - Setting user's password with Administrative Unit
我需要编写一个 Azure Automation Runbook 来为所有组成员设置密码。
组和用户是管理单元的一部分,服务主体是分配为 AU 的用户管理员的组的一部分。
当我 运行 Get-AzureADGroupMember
我得到 Authorization_RequestDenied
.
我不希望服务主体成为整个 AD 的用户管理员。
服务主体需要什么权限才能列出组中的用户并设置他们的密码?怎么设置?
尽管我认为这个功能应该是合理的,但实际上根据我的测试它不起作用。
我把Users Administrator
给了AU范围内的服务主体,但是无法重置AU所属组的用户密码,甚至无法重置直接用户的密码(用户是直接添加的)在 Users (Preview)
门户中)。
但是如果我在AU范围内用相同Users Administrator
的工作账户(xxx@xxx.onmicrosoft.com
)测试,它可以重置直接用户的密码,但仍然无法重置用户的密码在AU范围内组,貌似权限不能继承。
所以总而言之,如果你想重置属于AU的组中用户的密码,你需要将这些用户直接添加到Users (Preview)
,然后使用用户帐户,例如具有 Users Administrator
角色的工作帐户可以执行此操作。
要在 Runbook 中执行此操作,您可以 store your user name and password in the Credentials
of the automation account,然后使用 Runbook 中的代码登录您的帐户并获取组成员和重置密码。
$myCred = Get-AutomationPSCredential -Name '<credential-name>'
$userName = $myCred.UserName
$securePassword = $myCred.Password
$myPsCred = New-Object System.Management.Automation.PSCredential($userName,$securePassword)
Connect-AzureAD -Credential $myPsCred
Get-AzureADGroupMember
$password = ConvertTo-SecureString "xxxxx" -AsPlainText -Force
Set-AzureADUserPassword -ObjectId xxxx -Password $password
我需要编写一个 Azure Automation Runbook 来为所有组成员设置密码。
组和用户是管理单元的一部分,服务主体是分配为 AU 的用户管理员的组的一部分。
当我 运行 Get-AzureADGroupMember
我得到 Authorization_RequestDenied
.
我不希望服务主体成为整个 AD 的用户管理员。 服务主体需要什么权限才能列出组中的用户并设置他们的密码?怎么设置?
尽管我认为这个功能应该是合理的,但实际上根据我的测试它不起作用。
我把Users Administrator
给了AU范围内的服务主体,但是无法重置AU所属组的用户密码,甚至无法重置直接用户的密码(用户是直接添加的)在 Users (Preview)
门户中)。
但是如果我在AU范围内用相同Users Administrator
的工作账户(xxx@xxx.onmicrosoft.com
)测试,它可以重置直接用户的密码,但仍然无法重置用户的密码在AU范围内组,貌似权限不能继承。
所以总而言之,如果你想重置属于AU的组中用户的密码,你需要将这些用户直接添加到Users (Preview)
,然后使用用户帐户,例如具有 Users Administrator
角色的工作帐户可以执行此操作。
要在 Runbook 中执行此操作,您可以 store your user name and password in the Credentials
of the automation account,然后使用 Runbook 中的代码登录您的帐户并获取组成员和重置密码。
$myCred = Get-AutomationPSCredential -Name '<credential-name>'
$userName = $myCred.UserName
$securePassword = $myCred.Password
$myPsCred = New-Object System.Management.Automation.PSCredential($userName,$securePassword)
Connect-AzureAD -Credential $myPsCred
Get-AzureADGroupMember
$password = ConvertTo-SecureString "xxxxx" -AsPlainText -Force
Set-AzureADUserPassword -ObjectId xxxx -Password $password