gpt4 book ai didi

azure - 安装模块-名称AzureAD-范围CurrentUser-Force

转载 作者:行者123 更新时间:2023-12-03 05:27:57 25 4
gpt4 key购买 nike

我正在尝试在 Azure DevOps 中的 Agent Windows 2019 Maschine 上安装带有 Powershell 的 AzureAD 模块。范围是查询 Get-AzureADGroupMember 并查看该 Azure AD 组的成员。运行 DevOps 任务后,机器似乎仍处于以下状态,抛出无状态。我错过了什么吗?

Install-Module -Name AzureAD -Scope CurrentUser -Force
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Connect-AzureAD
Get-AzureADGroupMember -ObjectId "xxxxx-xxxxx-xxxxxxxx"

enter image description here enter image description here

最佳答案

命令Connect-AzureAD需要添加凭据才能连接 AzureAD。默认情况下,服务主体 ARM 连接无法将所需的凭据传递给此命令。

要使用服务主体 ARM 连接来连接 Azure Ad,您需要添加额外的任务和脚本来实现。

这是一个例子:

steps:
- task: AzureCLI@2
displayName: 'Azure CLI '
inputs:
azureSubscription: kevin0322
scriptType: ps
addSpnToEnvironment: true
scriptLocation: inlineScript
inlineScript: |
echo "##vso[task.setvariable variable=ARM_CLIENT_ID]$env:servicePrincipalId"

echo "##vso[task.setvariable variable=ARM_CLIENT_SECRET]$env:servicePrincipalKey"

echo "##vso[task.setvariable variable=ARM_TENANT_ID]$env:tenantId"



- powershell: |
az login --service-principal --username $(ARM_CLIENT_ID) --password $(ARM_CLIENT_SECRET) --tenant $(ARM_TENANT_ID)

$aadToken = az account get-access-token --resource-type aad-graph | ConvertFrom-Json

Install-Module -Name AzureAD -Scope CurrentUser -Force

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

Connect-AzureAD -AccountId $(ARM_CLIENT_ID) -TenantId $(ARM_TENANT_ID) -AadAccessToken $aadToken.accessToken

Get-AzureADGroupMember -ObjectId "xxx"
displayName: 'PowerShell Script'

您可以在 Azure CLI 任务中使用服务主体 ARM 连接,然后可以获得与服务主体相关的变量(启用 addSpnToEnvironment: true )。

在 Powershell 任务中,您可以使用 Azure CLI 任务中的变量运行 azure cli 命令来获取凭据的 aadtoken。

终于可以成功执行Connect-AzureAD命令,无需手动输入用户名和密码。

关于azure - 安装模块-名称AzureAD-范围CurrentUser-Force,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67365907/

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