Ale*_*AIT 6 azure-powershell azure-cli azure-devops azure-pipelines azure-pipelines-release-pipeline
我想创建一个 Powershell 脚本,该脚本执行一些AzureRm...命令并使用一些Az命令跟进这些命令。原因是某些命令只能通过Az.
尝试在发布管道中执行这些脚本时,脚本总是失败并显示以下错误:
ERROR: Please run 'az login' to setup account.
Run Code Online (Sandbox Code Playgroud)
执行任务中的Az命令Azure CLI按预期工作,因为Az Login由任务执行。
如果可能的话,我不想传递登录脚本所需的秘密。我宁愿退回到将脚本分成管道中的两个步骤。
是否可以Az在Azure Powershell不手动传递机密的情况下在任务中使用命令?
Azure PowerShellaz account show我已经制定的短期解决方案是将 ServicePrincipal 信息传递到 powershell 脚本中并az login手动执行(与下面 Bevan 的答案相同)。
我的长期解决方案是用“Az Powershell”命令替换所有 Azure CLI 调用。幸运的是,大多数命令现在都可用。
有几个命令没有等效的命令行开关。但如果它们可以通过 ARM 获得,您可以使用 Powershell 找出替代命令。
其中许多涉及使用New-AzResource/New-AzureRmResource或Invoke-AzResourceAction/Invoke-AzureRmResourceAction
# AzureCLI
az cosmosdb list-keys
# Powershell:
$keys = Invoke-AzResourceAction -Action listKeys `
-ResourceType "Microsoft.DocumentDb/databaseAccounts" -ApiVersion "2015-04-08" `
-ResourceGroupName $resourceGroupName -Name $accountName
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2784 次 |
| 最近记录: |