我正在尝试使用以下模板将 VM 添加到 Azure 中的域。
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-vm-domain-join-existing/azuredeploy.json(下面的模板:vm_domain_join.json)
我提供了 vmName 和 locationName 作为变量,但在执行 - az group deploy create 时出现以下错误:
resourceGroupName="xxxx" locationName="xxxx" vmName="xxxx"
az group deployment create --resource-group "$resourceGroupName" --template-file vm_domain_join.json --parameters '{ "vmList": {"value":"$vmName"}, "location": {"value":"$locationName"}, "domainJoinUserName": {"value":"xxxxx"}, "domainJoinUserPassword":{"value":"xxxxx"}, "domainFQDN":{"value":"xxxxx"}, "ouPath":{"value":"xxxxx"} }'
位置变量错误:
Azure Error: InvalidResourceLocation Message: The specified location '$locationName' is invalid. A location must consist of characters, whitespace, digit, or following symbols '(,)'.
VM 变量错误:
"error": { "code": "ParentResourceNotFound", "message": "Can not perform requested operation on nested resource. Parent resource '$vmName' not found." }
答案1
您的参数变量都在单引号块内,因此它们按字面意思理解而不是扩展,将它们更改为双引号并转义里面的引号,例如:
"{ \"vmList\": {\"value\":\"$vmName\"}, \"location\": {\"value\":\"$locationName\"}"
答案2
可以使用以下方法向模板文件提供参数:
示例:az group deploy create --resource-group $rgname --template-file configfile.json --parameters vmList=$vmmachinename location=$location