Powershell 重写脚本中的模板参数

Powershell 重写脚本中的模板参数,powershell,azure,Powershell,Azure,我正在使用模板和参数文件部署VM。我想覆盖参数文件virtualMachineName,这样我就可以动态命名每个VM,而不需要10个不同的参数文件。这样做的正确语法是什么 目前我有: New-AzureRmResourceGroupDeployment -ResourceGroupName "myRSG" -TemplateFile $server1TmpFile -TemplateParameterFile $serverParamFile -virtualMachineName "AS1F

我正在使用模板和参数文件部署VM。我想覆盖参数文件virtualMachineName,这样我就可以动态命名每个VM,而不需要10个不同的参数文件。这样做的正确语法是什么

目前我有:

New-AzureRmResourceGroupDeployment -ResourceGroupName "myRSG" -TemplateFile $server1TmpFile  -TemplateParameterFile $serverParamFile -virtualMachineName "AS1FTW12"  -networkInterfaceName "AS1FTW12NIC" -networkSecurityGroupName "MyNSGName"
这将产生一个错误: New AzureRmResourceGroupDeployment:找不到与参数名称“virtualMachineName”匹配的参数


我正在使用PowerShell Tools for Visual Studio 2017编写脚本。根据Get Module AzureRM,我安装的PowerShell AzureRM版本是5.1.1。

这适用于AzureRM 5.1.1,您可以使用以下设置进行测试:

模板:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "paramTest": {
            "type": "string"
        }
    },
    "resources": [],
    "outputs": {
        "result": {
            "type": "string",
            "value": "[parameters('paramTest')]"
        }
    }
}
参数:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "paramTest": {
            "value": "GEN-UNIQUE"
        }
    }
}
Powershell:

New-AzureRmResourceGroupDeployment -ResourceGroupName rg -TemplateFile template.json -TemplateParameterFile param.json -paramTest somevalue
结果输出值等于从powershell传递的值


您的错误表明参数名称错误,请检查它

这适用于AzureRM 5.1.1,您可以使用以下设置进行测试:

模板:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "paramTest": {
            "type": "string"
        }
    },
    "resources": [],
    "outputs": {
        "result": {
            "type": "string",
            "value": "[parameters('paramTest')]"
        }
    }
}
参数:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "paramTest": {
            "value": "GEN-UNIQUE"
        }
    }
}
Powershell:

New-AzureRmResourceGroupDeployment -ResourceGroupName rg -TemplateFile template.json -TemplateParameterFile param.json -paramTest somevalue
结果输出值等于从powershell传递的值


您的错误表明参数名称错误,请检查它

AzureRM版本和添加的其他信息。AzureRM版本和添加的其他信息。