繁体   English   中英

Azure Devops 发布管道 - 密钥中包含特殊字符的密钥库

[英]Azure Devops Release Pipeline - Keyvault with special characters in the secret

我正在运行 devops 发布管道,并通过此任务撤回 keyvaults 机密

脚步:

  • 任务:AzureKeyVault@1

我的秘密值看起来像这样。 abc$def&ghi

我正在通过 Powershell 使用此密钥更新数据库记录。

最终出现在数据库中的值为“abcghi”。不包括 $ 和直到(包括 &)的字符。

我是否需要以某种方式逃避来自 keyvault 的秘密?

-兰迪

您是否尝试在 PowerShell 数据库更新脚本中使用双引号字符串中的秘密值? 像这样的东西:

$sqlCommand = "update table set value='abc$def&ghi' where id=1";

如果是这样,PowerShell 正在尝试将$def扩展为变量。 它可能不是真正的变量,而是会扩展为一个空字符串。

您可以使用反引号`$转义密钥保管库中的美元符号,但如果您需要在非 PowerShell 场景中使用该密钥,则必须小心。

或者,您可以在字符串周围使用单引号字符; 尽管您随后需要转义该字符串中使用的任何单引号字符:

$sqlCommand = 'update table set value=''abc$def&ghi'' where id=1';

有关更多信息,请参阅有关引用规则的 PowerShell 文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM