共用方式為


New-AzPolicyExemption

建立或更新原則豁免。

語法

New-AzPolicyExemption
   -Name <String>
   -ExemptionCategory <String>
   -PolicyAssignment <PSObject>
   [-Scope <String>]
   [-PolicyDefinitionReferenceId <String[]>]
   [-AssignmentScopeValidation <String>]
   [-DisplayName <String>]
   [-Description <String>]
   [-ExpiresOn <DateTime>]
   [-Metadata <String>]
   [-ResourceSelector <IResourceSelector[]>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

New-AzPolicyExemption Cmdlet 會建立具有指定範圍和名稱的原則豁免。

範例

範例 1:訂用帳戶層級的原則豁免

$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Assignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment'
New-AzPolicyExemption -Name 'VirtualMachinePolicyExemption' -PolicyAssignment $Assignment -Scope "/subscriptions/$($Subscription.Id)" -ExemptionCategory Waiver

第一個命令會使用 Get-AzSubscription Cmdlet 取得名為 Subscription01 的訂用帳戶,並將它儲存在$Subscription變數中。 第二個命令會使用 Get-AzPolicyAssignment Cmdlet 來取得名為 VirtualMachinePolicyAssignment 的原則指派,並將它儲存在$Assignment變數中。 最後一個命令會豁免訂用帳戶範圍字串所識別訂用帳戶層級$Assignment中的原則指派。

範例 2:資源群組層級的原則豁免

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Assignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment'
New-AzPolicyExemption -Name 'VirtualMachinePolicyAssignment' -PolicyAssignment $Assignment -Scope $ResourceGroup.ResourceId -ExemptionCategory Mitigated

第一個命令會使用 Get-AzResourceGroup Cmdlet 取得名為 ResourceGroup11 的資源群組,並將它儲存在$ResourceGroup變數中。 第二個命令會使用 Get-AzPolicyAssignment Cmdlet 來取得名為 VirtualMachinePolicyAssignment 的原則指派,並將它儲存在$Assignment變數中。 最後一個命令會豁免$Assignment中由 $ResourceGroup ResourceId 屬性所識別之資源群組層級的原則指派。

範例 3:管理群組層級的原則豁免

$ManagementGroup = Get-AzManagementGroup -GroupName 'AManagementGroup'
$Assignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment'
New-AzPolicyExemption -Name 'VirtualMachinePolicyAssignment' -PolicyAssignment $Assignment -Scope $ManagementGroup.Id -ExemptionCategory Mitigated

第一個命令會使用 Get-AzManagementGroup Cmdlet 取得名為 AManagementGroup 的管理群組,並將它儲存在$ManagementGroup變數中。 第二個命令會使用 Get-AzPolicyAssignment Cmdlet 來取得名為 VirtualMachinePolicyAssignment 的原則指派,並將它儲存在$Assignment變數中。 最後一個命令會豁免$Assignment中由$ManagementGroup 標識符 屬性所識別之管理群組層級的原則指派。

範例 4:資源層級的原則豁免

$VM = Get-AzVM -Name 'SpecialVM'
$Assignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment'
New-AzPolicyExemption -Name 'VirtualMachinePolicyAssignment' -PolicyAssignment $Assignment -Scope $SpecialVM.Id -ExemptionCategory Waiver

第一個命令會使用 Get-AzVM Cmdlet 取得名為 SpecialVM 的 VM,並將它儲存在$VM變數中。 第二個命令會使用 Get-AzPolicyAssignment Cmdlet 來取得名為 VirtualMachinePolicyAssignment 的原則指派,並將它儲存在$Assignment變數中。 最後一個命令會從$Assignment的原則指派中,豁免$VM 標識符 屬性所識別的資源。

範例 5:資源選取器的原則豁免

$Assignment = Get-AzPolicyAssignment -Name 'VirtualMachineAssignment'
$ResourceSelector = @{Name = "MyLocationSelector"; Selector = @(@{Kind = "resourceLocation"; In = @("eastus", "eastus2")})}
New-AzPolicyExemption -Name 'VirtualMachinePolicyExemption' -PolicyAssignment $Assignment -ResourceSelector $ResourceSelector

第一個命令會使用 Get-AzPolicyAssignment Cmdlet 來取得名為 VirtualMachineAssignment 的原則指派,並將它儲存在$Assignment變數中。 第二個命令會建立資源選取器物件,該物件將用來指定豁免僅適用於位於美國東部或美國東部 2 的資源,並將它儲存在$ResourceSelector變數中。 最後一個命令會使用$ResourceSelector所指定的資源選取器,為指派$Assignment建立原則豁免。

參數

-AssignmentScopeValidation

是否要驗證豁免位於指派範圍或指派範圍內。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-BackwardCompatible

導致 Cmdlet 使用舊版格式將原則特定屬性放在屬性包對象中傳回成品。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DefaultProfile

DefaultProfile 參數無法運作。 如果針對不同的訂用帳戶執行 Cmdlet,請使用 SubscriptionId 參數。

類型:PSObject
別名:AzureRMContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Description

如果違反原則,此訊息將會是回應的一部分。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-DisplayName

原則指派的顯示名稱。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ExemptionCategory

原則豁免類別

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-ExpiresOn

原則豁免的到期日期和時間 (UTC ISO 8601 格式 yyyy-MM-ddTHH:mm:ssZ)。

類型:Nullable<T>[DateTime]
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Metadata

原則指派元數據。 元數據是開放式物件,通常是索引鍵值組的集合。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Name

原則豁免的名稱。

類型:String
別名:PolicyExemptionName
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-PolicyAssignment

原則指派標識符篩選條件。

類型:PSObject
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-PolicyDefinitionReferenceId

當相關聯的原則指派是針對原則集 (initiative) 時,原則定義參考標識符清單。

類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ResourceSelector

依資源屬性篩選原則的資源選取器清單。

類型:IResourceSelector[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Scope

原則豁免的範圍。 有效範圍包括:管理群組(格式:'/providers/Microsoft.Management/managementGroups/{managementGroup}'),訂用帳戶(格式:'/subscriptions/{subscriptionId}'),資源群組(格式: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', 或資源 (格式: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。

類型:SwitchParameter
別名:wi
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

PSObject

Nullable<T>[[System.DateTime, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

String

String[]

輸出

IPolicyExemption