我有一些 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 解释,从而导致问题。
您是否尝试过转义密码中的字符? (反引号 (`) 在 PowerShell 中用作转义字符):
$EscapedPassword = $Password -replace '\\', '``\\' -replace '}', '``}'