在PowerShell中,我使用SQL Server 2022 VM部署了一个简单的ARM模板。我将adminPassword参数作为securestring传递给脚本中的cmdlet New-AzResourceGroupDeployment,当参数文件和模板文件位于Windows中的本地计算机上时,它工作正常。
# This one works fine:
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateParameterFile parameters.json -TemplateFile template.json -adminPassword $adminPassword
但是当我直接指向GitHub中的文件时,adminPassword的参数传递不起作用。我得到一个错误,说adminPassword参数为空
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -adminPassword $adminPassword -TemplateParameterUri https://raw.githubusercontent.com/camillagaardsted/dp300/main/Lab1VM/parameters.json -TemplateUri https://raw.githubusercontent.com/camillagaardsted/dp300/main/Lab1VM/template.json
我的完整脚本可以在这里找到:https://github.com/camillagaardsted/dp300/blob/main/Lab1VM/deployvm.ps1我知道在脚本中保存密码不是最佳做法,但这只是一个简短的演示,我不想在这种情况下使用Azure密钥保管库。
为什么它在使用github文件时失败,而在使用本地文件时失败?
1条答案
按热度按时间mv1qrgav1#
我在我的环境中尝试了类似的方法,参考此MSDoc创建一个虚拟机并使用ARM模板部署它。通过包含
adminusername
和adminpassword(secure string)
的parameters.json
文件提供参数。部署成功,templateuri
没有管理员密码空错误。注意:你可能应该升级Azure PowerShell版本并测试它是否与
templateuri
配合使用。示例代码片段:
vm.json
:New-AzResourceGroupDeployment
:部署在门户中: