Powershell 使用变量使.json文件更灵活,以实现自动化部署

Powershell 使用变量使.json文件更灵活,以实现自动化部署,powershell,azure,Powershell,Azure,我有一个PowerShell脚本,可以从Azure中的映像创建VM,在这个脚本中我存放了一个.json(VM的参数,等等)。但是如果我想创建多个VM,那么每次执行时VM、Vnet等的名称不能相同(必须在同一资源组中) 所以我的问题是:如何在.json文件中插入变量来更改每次执行时VM的名称等?也许我得重新考虑一下 一个非常基本的方法可以是这样的: # Grab the file contents $contents = Get-Content -Path $templateFile # Upd

我有一个PowerShell脚本,可以从Azure中的映像创建VM,在这个脚本中我存放了一个
.json
(VM的参数,等等)。但是如果我想创建多个VM,那么每次执行时VM、Vnet等的名称不能相同(必须在同一资源组中)

所以我的问题是:如何在.json文件中插入变量来更改每次执行时VM的名称等?也许我得重新考虑一下


一个非常基本的方法可以是这样的:

# 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

如果您有一个随每个部署而改变的值,您也可以考虑使用新的AZurrMeReSuthGROUP部署CMDLET使用<强> -TopPielePrimeObjult><强>参数。这样,您就可以在powershell脚本中生成值,而不必首先将它们输出到json文件


有关更多详细信息,请查看

请在问题中输入您的代码;不是在照片里@OP这仍然是一个图像,而不是实际的代码文本。还要注意,您的全名(用户名)在图像中可用。谢谢你的建议。但是如果我正确地解构它,我将创建一个新文件,并且必须在下一个脚本中再次保存它,不是吗?@Eiffelsturm您知道在您的代码中指定
-TemplateFile$TemplateFile
。。。只需交换变量!试试看。是的,谢谢,我想这就是我想要的。这似乎很有效,如果ti对我有效,我会尽快写信给你D