你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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>]
说明
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 Id 属性标识的管理组级别的策略分配。
示例 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变量中。 最后一个命令将 Id 属性标识的资源从$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
策略分配 ID 筛选器。
类型: | PSObject |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-PolicyDefinitionReferenceId
当关联的策略分配用于策略集(计划)时,策略定义引用 ID 列表。
类型: | 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 |
输入
Nullable<T>[[System.DateTime, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
String[]