在 Azure Cli powershell azure yaml 步骤中使用带有特殊字符的密码

问题描述 投票:0回答:1

我有一些 yaml,可以通过天蓝色密钥库中的密码获取,然后将其传递给另一个函数,但是密码中同时包含

}
\
,这会在调用函数时导致身份验证问题。

这是到目前为止我的 yaml

- task: AzureKeyVault@2
  inputs:
    azureSubscription: 'MySub'
    KeyVaultName: 'mykeyvault'
    SecretsFilter: 'mysecretfilter'
- task: AzureCLI@2
  env:
    MAPPED_PASSWORD: $(mysecretfilter)
    inlineScript: |
      # Azure CLI stuff not important for this question
      send-mailmessage -credential $($env:MAPPED_PASSWORD)

但是这样做是行不通的。

有人可以推荐解决这个问题的方法吗?谢谢

powershell azure-keyvault azure-cli
1个回答
0
投票

密码中的

}
\
字符可能会被 PowerShell 解释,从而导致问题。

您是否尝试过转义密码中的字符? (反引号 (`) 在 PowerShell 中用作转义字符):

$EscapedPassword = $Password -replace '\\', '``\\' -replace '}', '``}'
© www.soinside.com 2019 - 2024. All rights reserved.