使用模板进行虚拟机域加入时出错

使用模板进行虚拟机域加入时出错

我正在尝试使用以下模板将 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

相关内容