gpt4 book ai didi

azure - Get-AzADUser 在 Azure Devops MS 托管代理上返回空

转载 作者:行者123 更新时间:2023-12-02 08:26:25 24 4
gpt4 key购买 nike

我在 Azure Devops Pipeline Task 上使用 Az Powershell 模块。我的问题是,Get-AzADUser 命令在 Azure Devops MS 托管代理返回空,尽管它在 上运行良好 Azure Cloud Shell 并返回 AzAD Users 。我对两者(Cloud Shell 和 Azure Devops)使用相同的帐户。

以下是 Azure Devops 任务的日志:

2020-10-23T09:04:34.5200816Z ##[section]Starting: Azure PowerShell script: FilePath
2020-10-23T09:04:34.5561322Z ==============================================================================
2020-10-23T09:04:34.5562144Z Task : Azure PowerShell
2020-10-23T09:04:34.5563006Z Description : Run a PowerShell script within an Azure environment
2020-10-23T09:04:34.5563312Z Version : 5.176.2
2020-10-23T09:04:34.5564072Z Author : Microsoft Corporation
2020-10-23T09:04:34.5565422Z Help : https://aka.ms/azurepowershelltroubleshooting
2020-10-23T09:04:34.5566084Z ==============================================================================
2020-10-23T09:04:36.0669385Z Generating script.
2020-10-23T09:04:36.1560120Z ========================== Starting Command Output ===========================
2020-10-23T09:04:36.1824475Z ##[command]"C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D:\a\_temp\11730398-1e70-4056-a1ec-5d9694307da4.ps1'"
2020-10-23T09:04:39.1363993Z ##[command]Import-Module -Name C:\Modules\az_4.7.0\Az.Accounts\1.9.4\Az.Accounts.psd1 -Global
2020-10-23T09:04:48.4455502Z ##[command]Clear-AzContext -Scope Process
2020-10-23T09:04:49.5325261Z ##[command]Clear-AzContext -Scope CurrentUser -Force -ErrorAction SilentlyContinue
2020-10-23T09:04:49.8445719Z ##[command]Connect-AzAccount -ServicePrincipal -Tenant *** -Credential System.Management.Automation.PSCredential -Environment AzureCloud @processScope
2020-10-23T09:04:52.0059255Z ##[command] Set-AzContext -SubscriptionId *** -TenantId ***
2020-10-23T09:04:52.9718588Z Get-AzADUser

我应该怎么做才能返回 ADUser 对象?

最佳答案

在Azure Cloud Shell中,它使用登录Azure门户的用户的凭据,如果有效,则仅意味着您的用户帐户有权列出用户。

在devops管道中,它使用在项目设置 -> 服务连接中配置的服务主体的凭据,而不是在devops中登录的用户帐户.

要解决该问题,请导航至 devops 中的项目设置 -> 服务连接 -> 找到您使用的服务连接 -> 单击管理服务主体.

enter image description here

然后它将打开服务主体的 Azure AD 应用程序页面,导航到 API 权限 -> 添加应用程序权限 Directory.Read.All Azure Active Directory Graph 如下所示(注意:它应该是 Azure Active Directory Graph,而不是 Microsoft Graph)。

enter image description here

enter image description here

注意:最后不要忘记点击为 xxx 授予管理员同意按钮。

enter image description here

然后去你的devops试试,应该可以的。

关于azure - Get-AzADUser 在 Azure Devops MS 托管代理上返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64497433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com