我有一个PowerShell脚本从Azure中的Image创建VM,在此脚本中我存放了.json
(VM的参数等)。但是,如果我想创建多个VM,则VM,Vnet等的名称对于每次执行都不能相同(必须位于同一个资源组中)。
所以我的问题:如何在.json文件中插入变量来为每次执行更改VM的名称等?也许我必须重新思考?
答案 0 :(得分:2)
一个非常基本的方法可能是这样的:
# Grab the file contents
$contents = Get-Content -Path $templateFile
# Update some tokens in the file contents
$contents = $contents.replace("original value", "new value")
# Push the updated contents to a new file
Set-Content -Path $updatedFile -Value $contents
答案 1 :(得分:0)
如果您的值随每个部署而变化,您还可以考虑将 -TemplateParameterObject 参数与New-AzureRmResourceGroupDeployment cmdlet一起使用。这样,您可以在powershell脚本中生成值,而无需先将它们输出到json文件。
有关详细信息,请查看cmdlet specs