如何在PowerShell中转义带前导短横的az命令参数值?
解决Azure Key Vault设置带前导短横的Secret问题
以下是几个可行的解决办法,针对带前导短横的密码值无法正确传递的问题:
使用PowerShell变量传递
把密码存入变量,直接传给--value,PowerShell会自动处理特殊字符:$secretValue = "-3vFBJYp/FaH1C|Jr)Ee" az keyvault secret set --name myPassword --vault-name myVault --value $secretValue用
--标记参数结束
在--value后加--,明确告诉CLI后面的内容是参数值而非新选项:az keyvault secret set --name myPassword --vault-name myVault --value -- "-3vFBJYp/FaH1C|Jr)Ee"通过管道传递值
利用管道把密码内容传给命令,避免解析冲突:"-3vFBJYp/FaH1C|Jr)Ee" | az keyvault secret set --name myPassword --vault-name myVault --value @-单引号包裹值(原生PowerShell解析)
放弃--%,直接用单引号包裹密码,PowerShell会原样传递内容:az keyvault secret set --name myPassword --vault-name myVault --value '-3vFBJYp/FaH1C|Jr)Ee'
内容的提问来源于stack exchange,提问作者Pflugs
相关产品推荐
相关产品推荐

