You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell设置Azure策略集定义内单个策略定义的参数?

Azure策略集定义中单个策略参数的配置方式

在Azure策略集(Initiative)定义里,集合内单个策略的独立参数需通过以下方式配置:

  • 先定义策略集参数映射
    必须在策略集定义的结构中,将内部单个策略的参数与策略集级别的参数做绑定映射。比如在创建或更新策略集定义时,通过-PolicyDefinition参数传入的JSON结构里,每个包含的策略定义都要指定parameters字段,把该策略的参数关联到策略集的顶层参数上。

  • 通过PowerShell命令处理参数
    使用Set-AzPolicySetDefinition时,有两种参数配置方式:

    1. 直接在-PolicyDefinition的JSON内容中定义参数映射关系及默认值
    2. 使用-Parameter参数传入哈希表,指定策略集级别的参数值,这些值会自动映射到内部单个策略的对应参数

示例代码

# 构建策略集定义内容,包含策略关联与参数映射
$policySetContent = @{
    Name = "custom-location-initiative"
    PolicyDefinitions = @(
        @{
            PolicyDefinitionId = "/providers/Microsoft.Authorization/policyDefinitions/0a914e76-4921-4c19-b460-a2d36003525a"
            Parameters = @{
                "allowedLocations" = @{
                    Value = "[parameters('initiativeAllowedRegions')]"
                }
            }
        }
    )
    Parameters = @{
        initiativeAllowedRegions = @{
            Type = "Array"
            Metadata = @{
                DisplayName = "允许部署的区域"
                Description = "策略集中所有策略生效的区域列表"
            }
        }
    }
}

# 更新策略集定义
Set-AzPolicySetDefinition -Name "custom-location-initiative" -PolicyDefinition $policySetContent

核心逻辑:策略集内部的单个策略参数无法直接独立传入,必须先在策略集定义中建立参数映射关系,将单个策略的参数关联到策略集顶层参数,后续无论是设置默认值还是分配时传入参数,都通过策略集级别的参数来传递。

内容的提问来源于stack exchange,提问作者user13696433

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 23:20:27