0

我目前正在使用以下存在条件:

    "existenceCondition": {
      "allOf": [
        {
          "field": "Microsoft.Compute/virtualMachines/extensions/instanceView.name",
          "equals": "customextensionname"
        },
        {
          "field": "Microsoft.Compute/virtualMachines/extensions/publisher",
          "equals": "Microsoft.Compute"
        },
        {
          "field": "Microsoft.Compute/virtualMachines/extensions/provisioningState",
          "equals": "Succeeded"
        }
      ]

我尝试使用扩展名/名称,但收到一个错误,指出它不可用。我的策略检查所有 Windows 虚拟机,但我不确定如何检查扩展名。它在那里,但它报告不合规并且 instanceView.name 没有值。

4

2 回答 2

0

您不需要name. 这是一个受支持的顶级字段。在存在条件下,它将引用相关资源 - 在您的情况下是扩展 - 而不是评估的资源。

您的存在条件将像这样工作:

    "existenceCondition": {
      "allOf": [
        {
          "field": "name",
          "equals": "customextensionname"
        },
        {
          "field": "Microsoft.Compute/virtualMachines/extensions/publisher",
          "equals": "Microsoft.Compute"
        },
        {
          "field": "Microsoft.Compute/virtualMachines/extensions/provisioningState",
          "equals": "Succeeded"
        }
      ]
于 2019-10-10T19:13:34.063 回答
0

我认为应该是这样的:

{
    "field": "type",
    "equals": "Microsoft.Compute/VirtualMachines/extensions"
},
{
    "not": {
        "field": "name",
        "equals": "customextensionname"
    }
}
于 2019-06-11T05:22:39.617 回答