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

使用New-AzPolicyExemption创建Azure策略豁免失败及相关问题咨询

Azure策略豁免与分配的PowerShell问题解决

1. 获取策略集定义的内部名称及查看完整Properties属性

  • 解决Get-AzPolicySetDefinition无结果的问题:你当前命令使用了-Custom参数,这只会筛选自定义创建的策略集。如果目标策略集是Azure内置的,这个参数会直接过滤掉结果。建议先移除-Custom参数再尝试匹配显示名称:
$mgmtGroup = 'xxx'
$policySetName = 'xxx'
Get-AzPolicySetDefinition -ManagementGroupName $mgmtGroup | Where-Object {$_.Properties.DisplayName -eq $policySetName} | Select-Object Name, Properties
  • 查看返回对象的所有Properties值,有两种实用方式:
    • 直接展开Properties属性,查看所有字段:
      Get-AzPolicySetDefinition -ManagementGroupName $mgmtGroup | Where-Object {$_.Properties.DisplayName -eq $policySetName} | Select-Object -ExpandProperty Properties
      
    • 用Format-List *查看对象的全部详细信息,包含Properties下的所有子属性:
      Get-AzPolicySetDefinition -ManagementGroupName $mgmtGroup | Where-Object {$_.Properties.DisplayName -eq $policySetName} | Format-List *
      

2. 修复New-AzPolicyAssignment的报错问题

你当前的命令存在两个关键问题:

  • 第一行变量定义缺少$符号,正确写法应为$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11',没有$会导致变量未被正确定义,后续引用$ResourceGroup.ResourceId时必然出错。
  • 需确保$intiative能返回单个有效的策略集定义对象,避免返回多个或空对象的情况,建议添加Select-Object -First 1做限制。

修正后的命令:

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$intiative = Get-AzPolicySetDefinition | Where-Object { $_.Properties.DisplayName -eq 'Public' } | Select-Object -First 1
if ($intiative) {
    New-AzPolicyAssignment -Name 'denyPolicies' -PolicySetDefinition $intiative -Scope $ResourceGroup.ResourceId
} else {
    Write-Error "未找到显示名称为'Public'的策略集定义"
}

另外,如果你实际要创建的是策略豁免而非策略分配,需使用New-AzPolicyExemption命令,且需要指定目标策略分配的ID(而非策略集定义),示例如下:

# 先获取目标策略分配的资源ID
$policyAssignment = Get-AzPolicyAssignment -Name 'denyPolicies' -Scope $ResourceGroup.ResourceId
# 创建策略豁免
New-AzPolicyExemption -Name 'exemptDenyPolicies' -PolicyAssignmentId $policyAssignment.ResourceId -Scope $ResourceGroup.ResourceId -ExemptionCategory "Waiver"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 02:05:02