Warm tip: This article is reproduced from serverfault.com, please click

其他-使用Azure CLI创建Azure密钥保管库秘密可将插入号^字符值

(其他 - Create Azure Key Vault Secrets with Azure CLI drops caret ^ character in value)

发布于 2020-12-08 13:28:35

我想通过以下命令使用Azure Cli v2.9.0创建新的Azure Key Vault机密(我们在管道中使用此版本,目前将很难升级。),

az keyvault secret set --vault-name $myKeyVaultName -n $mySecretName --value "abc^def" 

该命令被接受并创建了一个新的机密,但是它从字符串中删除了脱字符号(^),并产生了abcdef的机密值,而不是预期的abc ^ def。

在此处输入图片说明

在测试期间,我从Powershell看到了以下消息,但它非常罕见: 无法使用cp1252编码对输出进行编码。不支持的字符将被丢弃。

很奇怪,tjhe插入符是字符集- https://en.wikipedia.org/wiki/Windows-1252#Code_page_layout

有没有一种方法可以运行此命令并让Key Vault通过插入符号接受值?

Questioner
Phil Murray
Viewed
0
Joy Wang 2020-12-09 09:54:04

我可以重现你的问题。

在此处输入图片说明

实际上,这取决于你的环境,仅当你在中运行命令时才会出现此问题Powershell,如果在中运行CLI命令Bash,则可以正常工作。

az keyvault secret set --vault-name joykeyvault -n testkey12 --value "abc^def"

在此处输入图片说明

因此,如果要在Powershell环境中运行此命令,只需使用下面的行。

az keyvault secret set --vault-name joykeyvault -n testkey12 --value '"abc^def"'

在此处输入图片说明