Test-AzureRmResourceGroupDeployment cmdlet returns 验证成功时为空

Test-AzureRmResourceGroupDeployment cmdlet returns Empty when the validation is successful

我使用下面的 Azure Powershell cmdlet 来验证 ARM 模板 json 和 ARM 模板参数 json 文件。

$result = Test-AzureRmResourceGroupDeployment -ResourceGroupName TestRG -TemplateFile TestARMTemplate.json -ApiVersion TestARMParams.json

如果两个输入参数都有效,我希望 cmdlet return true(布尔类型)。

然而,结果是空的。

文档也不清楚此 cmdlet 的预期响应。

我想知道我得到的回复是否是预期的回复。

注意:我在 Windows 10 机器上使用 Azure PowerShell 1.5 版(2016 年 6 月)

正在查看此 Cmdlet here, I don't think it returns true or false. It actually returns an object of type List<PSResourceManagerError> 的源代码。如果你对 $result 对象进行计数,如果一切正常,它应该 return 你归零。

这是一个方便的函数,用于创建包含 PSResourceManagerError

中的所有错误信息的 AggregateException
function New-DeploymentResultException([Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PSResourceManagerError]$error)
{
    $errorMessage = "$($error.Message) ($($error.Code)) [Target: $($error.Target)]"

    if ($error.Details)
    {
        $innerExceptions =  $error.Details | ForEach-Object { New-DeploymentResultException $_ }
        return New-Object System.AggregateException $errorMessage, $innerExceptions
    }
    else 
    { 
        return New-Object System.Configuration.ConfigurationErrorsException $errorMessage
    }
}