Azure CLI 2.0:az vm update的--set/--remove参数无法使用?
解决Azure CLI操作VM标签时"unrecognized arguments"错误的办法
我看到你在Mac OS 10.12.x上使用Azure CLI v2.0.30操作VM标签时遇到了参数不识别的问题,结合你提供的命令和环境,我来梳理下可能的原因和对应的解决方法:
检查命令中的破折号格式
你提供的命令里可能存在全角破折号的问题——有时候从文档复制内容时,半角的--会被自动转换成全角的–-,而Azure CLI只能识别半角的双短横参数前缀。
请把命令里所有参数前的破折号替换成半角的--,修正后的命令应该是:
移除标签:az vm update --resource-group MyResourceGroup --name MyTestVM --remove tags.myNewTagName1设置标签:
az vm update --resource-group MyResourceGroup --name MyTestVM --set tags.myNewTagName1=myNewTagValue1更新Azure CLI到最新版本
你当前使用的v2.0.30是比较老旧的版本了,这个版本可能对--remove和--set操作标签的语法支持不完善,存在已知的参数解析bug。建议你更新CLI到最新稳定版:
如果你是通过Homebrew安装的CLI,可以执行以下命令更新:brew update && brew upgrade azure-cli若你是用安装包安装的,可以重新下载最新的Mac安装包进行更新。新版本的CLI不仅修复了旧版本的问题,还优化了标签操作的稳定性。
验证标签名称格式
确保你的标签名称没有包含特殊字符或者空格,如果有这类情况,需要用引号将标签名包裹起来,比如:az vm update --resource-group MyResourceGroup --name MyTestVM --set tags."my-new-tag-name"="myTagValue"不过你的示例中标签名
myNewTagName1格式合规,这一步可以作为额外的排查点。
关于是否有其他用户遇到类似问题:确实有不少用户在使用旧版CLI或者不小心使用了全角破折号时碰到过这个"unrecognized arguments"错误,通过修正破折号格式或者更新CLI版本,大多都能解决问题。
内容的提问来源于stack exchange,提问作者KJH
相关产品推荐
相关产品推荐

