Azure devops 如何从DevOps发布管道运行Connect AzureAD?
我需要从发布管道中的Powershell脚本运行Azure devops 如何从DevOps发布管道运行Connect AzureAD?,azure-devops,azure-active-directory,Azure Devops,Azure Active Directory,我需要从发布管道中的Powershell脚本运行新AzureADServiceAppRoleAssignment 此操作的先决条件是Connect AzureAD,默认情况下,它会提示进行身份验证。我已经检查了StackOverflow,查找了我能找到的这个问题的每一种排列方式,但所提到的解决方案都不起作用 Azure Powershell任务已存在并已登录,这种情况就发生了。要使用登录的上下文连接AzureAD模块,我需要做什么 如何从DevOps发布管道运行Connect AzureAD 因
新AzureADServiceAppRoleAssignment
此操作的先决条件是Connect AzureAD
,默认情况下,它会提示进行身份验证。我已经检查了StackOverflow,查找了我能找到的这个问题的每一种排列方式,但所提到的解决方案都不起作用
Azure Powershell任务已存在并已登录,这种情况就发生了。要使用登录的上下文连接AzureAD模块,我需要做什么
如何从DevOps发布管道运行Connect AzureAD
因为默认情况下,connectazuread
会在弹出窗口中提示您输入登录名和密码
默认情况下,Azure DevOps内部的Connect AzureAD堆栈等待身份验证
我们可以尝试使用Connect AzureAD
的-Credential
选项:
$SecurePassword = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ($AdminUserEmailAddress, $SecurePassword)
Connect-AzureAD -Credential $Credential
我们需要在您的Azure广告中创建具有访问Microsoft Graph和生成密钥权限的服务主体。之后,您可以使用服务主体的应用程序ID和密钥作为$Credential
的登录名和密码
我们可以将凭证存储在secret变量中
你可以检查和线程的更多细节
希望这能有所帮助。是什么阻止您在脚本中运行
Connect AzureAD
?我在问题中说过-它会提示进行身份验证。发布管道任务无法确认该提示,因此发布将挂起,直到超时。DevOps管道已在服务主体下运行。我如何使用它?如果您已经在服务主体下运行,您可以尝试通过以下方式使用它:注释中链接的答案运行时不会出错,但我现在无法为服务主体分配适当的权限以运行cmdlet。然而,从原始问题的角度来看,这个答案是有效的。@TomW你有没有发现你需要什么权限?在我的例子中,Connect AzureAD由于对象引用错误而失败。似乎我缺少一些权限,但我找不到我的权限missing@PaulVrugt如果我没记错的话,这是脚本使用未经授权的令牌所做的事情,而不是连接过程。我的目标是使用DevOps已经获得的令牌,而不是运行Connect AzureAD
。所以我没办法,对不起。