试图从Automation runbook帐户连接Azure AD,但获取代码:Authorization\u RequestDenied

试图从Automation runbook帐户连接Azure AD,但获取代码:Authorization\u RequestDenied,azure,automation,azure-active-directory,azure-powershell,azure-runbook,Azure,Automation,Azure Active Directory,Azure Powershell,Azure Runbook,正在运行以下代码,并尝试使用Automation runbook帐户从Azure AD获取值。其授予权限被拒绝错误。 我有,还没有结果。 如果有人面临类似问题或知道如何解决,请告诉我 代码: 错误: Get-AzureADUser:执行GetUsers时出错 代码:授权被拒绝 消息:权限不足,无法完成操作。 请求ID:“ 日期时间戳:2020年6月26日星期五04:07:45 GMT HttpStatusCode:禁止 HttpStatusDescription:禁止 HttpResponseS

正在运行以下代码,并尝试使用Automation runbook帐户从Azure AD获取值。其授予权限被拒绝错误。 我有,还没有结果。 如果有人面临类似问题或知道如何解决,请告诉我

代码:

错误:

Get-AzureADUser:执行GetUsers时出错 代码:授权被拒绝 消息:权限不足,无法完成操作。 请求ID:“ 日期时间戳:2020年6月26日星期五04:07:45 GMT HttpStatusCode:禁止 HttpStatusDescription:禁止 HttpResponseStatus:已完成

第21行字符:2

  • (获取AzureADUser-全部$true-过滤“userType eq'Guest')。计数
@Hury shen

找到了答案

转到Azure门户-->Azure AD-->角色和管理员-->目录读取器角色-->将此角色分配给runbook帐户名

找到了答案


转到Azure门户-->Azure AD-->角色和管理员-->目录读取器角色-->将此角色分配给runbook帐户名

您好,因为您提到了其他post步骤,我想您已经添加了AD图权限(
Directory.Read.All
)。如果您已经添加了权限,请不要忘记授予管理员权限。请打开另一个powershell窗口以重新连接服务主体,然后尝试执行
Get-AzureADUser
命令,因为powershell窗口中可能存在缓存问题。@HuryShen它仍然收到相同的错误。我已经申请了ad graph权限(Directory.Read.All)并为其授予管理员许可。我正在为上述脚本使用自动化runbook。你认为,我需要为服务帐户添加权限吗?不,我认为你不需要为该帐户添加权限。由于您通过服务主体连接广告,所以您只需向在广告中注册的应用程序添加权限。您的步骤似乎是正确的。请您尝试在PowerShell中运行相同的脚本以测试它是否可以让用户成功?您好,既然您提到了遵循另一个post步骤,我想您已经添加了广告图权限(
Directory.Read.All
)。如果您已经添加了权限,请不要忘记授予管理员权限。请打开另一个powershell窗口以重新连接服务主体,然后尝试执行
Get-AzureADUser
命令,因为powershell窗口中可能存在缓存问题。@HuryShen它仍然收到相同的错误。我已经申请了ad graph权限(Directory.Read.All)并为其授予管理员许可。我正在为上述脚本使用自动化runbook。你认为,我需要为服务帐户添加权限吗?不,我认为你不需要为该帐户添加权限。由于您通过服务主体连接广告,所以您只需向在广告中注册的应用程序添加权限。您的步骤似乎是正确的。请尝试在PowerShell中运行相同的脚本以进行测试,这样可以让用户成功吗?
$connectionName = "AzureRunAsConnection"
# Get the Service Principal connection details for the Connection name
$servicePrincipalConnection = Get-AutomationConnection -Name $connectionName         

# Logging in to Azure AD with Service Principal
"Logging in to Azure AD..."
Connect-AzureAD -TenantId $servicePrincipalConnection.TenantId `
    -ApplicationId $servicePrincipalConnection.ApplicationId `
    -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint

"List Tenant Org Details:"
Get-AzureADTenantDetail | Select DisplayName, Street, PostalCode, City, CountryLetterCode

"Member Account Synced Count:"
(Get-AzureADUser -All $true -Filter "userType eq 'Member' and accountEnabled eq true" | Where-Object {$_.DirSyncEnabled -eq $true}).Count
"Disabled Users Count:"
(Get-AzureADUser -All $true -Filter 'accountEnabled eq false').Count
"Guest User Count:"
(Get-AzureADUser -All $true -Filter "userType eq 'Guest'").Count
"Cloud Only Account Count:"
(Get-AzureADUser -All $true -Filter "userType eq 'Member'" | Where-Object {$_.userPrincipalName -like "*onmicrosoft.com"}).Count
 + CategoryInfo          : NotSpecified: (:) [Get-AzureADUser], ApiException
 + FullyQualifiedErrorId : Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.GetUser