【问题标题】:Azure-cli set keyvalue secret value through powershellAzure-cli通过powershell设置keyvalue秘密值
【发布时间】:2018-09-18 09:01:57
【问题描述】:

我想使用包含“&”的 URL 设置秘密值,例如:http://ttt.com?p=p&data=1。 但是“&”是powershell的关键词,所以调用后

$v="http://ttt.com?p=p&data=1"
az keyvault secret set --vault-name "XXX" --name "XXX" --value "$v"

实际值为http://ttt.com?p=p。

我用单引号 $v='http://ttt.com?p=p&data=1' 或 $v="http://ttt.com?p=p`&data=1" 试过了,它们都不起作用。

【问题讨论】:

  • 我似乎无法在 Bash 或 PowerShell 中的 Azure Portal Cloud Shell 中重现这一点。如果 URL 用双引号括起来,那么它会正确处理 & 符号。
  • @Adriano 谢谢。如果在本地尝试,结果如何? (Windows PowerShell)
  • 它在 Windows PowerShell 中也适用于我。
  • 我可以在本地重现您的问题,它在 azure cloud shell 中运行良好,可能是一个错误?
  • @Adriano 能否提供详细命令的截图?

标签: powershell azure-keyvault azure-cli


【解决方案1】:

尝试用双引号将 & 号括起来。例如:

PS C:\Users\Adriano> $v = 'http://ttt.com?p=p"&"data=1'
PS C:\Users\Adriano> az keyvault secret set --vault-name "adriano-testvault" --name "my-secret" --value $v
{
  "attributes": {
    "created": "2018-09-20T08:35:25+00:00",
    "enabled": true,
    "expires": null,
    "notBefore": null,
    "recoveryLevel": "Purgeable",
    "updated": "2018-09-20T08:35:25+00:00"
  },
  "contentType": null,
  "id": "https://adriano-testvault.vault.azure.net/secrets/my-secret/be022c3cfe034bfb83321a35a5919ccf",
  "kid": null,
  "managed": null,
  "tags": {
    "file-encoding": "utf-8"
  },
  "value": "http://ttt.com?p=p&data=1"
}

【讨论】:

  • 谢谢,有没有不修改网址的方法?
猜你喜欢
  • 2016-08-21
  • 2016-02-17
  • 1970-01-01
  • 1970-01-01
  • 2019-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多