你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Start-AzPolicyRemediation
为策略分配创建并启动策略修正。
语法
Start-AzPolicyRemediation
-Name <String>
[-Scope <String>]
[-ManagementGroupName <String>]
[-ResourceGroupName <String>]
-PolicyAssignmentId <String>
[-PolicyDefinitionReferenceId <String>]
[-LocationFilter <String[]>]
[-ResourceDiscoveryMode <String>]
[-ResourceCount <Int32>]
[-ParallelDeploymentCount <Int32>]
[-FailureThreshold <Double>]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Start-AzPolicyRemediation
-ResourceId <String>
-PolicyAssignmentId <String>
[-PolicyDefinitionReferenceId <String>]
[-LocationFilter <String[]>]
[-ResourceDiscoveryMode <String>]
[-ResourceCount <Int32>]
[-ParallelDeploymentCount <Int32>]
[-FailureThreshold <Double>]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Start-AzPolicyRemediation cmdlet 为特定策略分配创建策略修正。 修正范围或以下的所有不合规资源都将得到修正。 只有具有“deployIfNotExists”效果的策略才支持修正。
示例
示例 1:在订阅范围内启动修正
$policyAssignmentId = "/subscriptions/f0710c27-9663-4c05-19f8-1b4be01e86a5/providers/Microsoft.Authorization/policyAssignments/2deae24764b447c29af7c309"
Set-AzContext -Subscription "My Subscription"
Start-AzPolicyRemediation -PolicyAssignmentId $policyAssignmentId -Name "remediation1"
此命令在订阅“我的订阅”中为给定策略分配创建新的策略修正。
示例 2:使用可选筛选器在管理组范围内启动修正
$policyAssignmentId = "/providers/Microsoft.Management/managementGroups/mg1/providers/Microsoft.Authorization/policyAssignments/pa1"
Start-AzPolicyRemediation -ManagementGroupName "mg1" -PolicyAssignmentId $policyAssignmentId -Name "remediation1" -LocationFilter "westus","eastus"
此命令为给定的策略分配在管理组“mg1”中创建新的策略修正。 只会修正“westus”或“eastus”位置中的资源。
示例 3:在策略集定义分配的资源组范围内启动修正
$policyAssignmentId = "/subscriptions/f0710c27-9663-4c05-19f8-1b4be01e86a5/resourceGroups/myRG/providers/Microsoft.Authorization/policyAssignments/2deae24764b447c29af7c309"
Start-AzPolicyRemediation -ResourceGroupName "myRG" -PolicyAssignmentId $policyAssignmentId -PolicyDefinitionReferenceId "0349234412441" -Name "remediation1"
此命令在资源组“myRG”中为给定策略分配创建新的策略修正。 策略分配分配分配策略集定义(也称为计划)。 策略定义引用 ID 指示应修正计划内的策略。
示例 4:启动修正并等待它在后台完成
$policyAssignmentId = "/subscriptions/f0710c27-9663-4c05-19f8-1b4be01e86a5/providers/Microsoft.Authorization/policyAssignments/2deae24764b447c29af7c309"
Set-AzContext -Subscription f0710c27-9663-4c05-19f8-1b4be01e86a5
$job = Start-AzPolicyRemediation -PolicyAssignmentId $policyAssignmentId -Name "remediation1" -AsJob
$job | Wait-Job
$remediation = $job | Receive-Job
此命令在给定策略分配的订阅“我的订阅”中启动新的策略修正。 它将等待修正完成,然后再返回最终修正状态。
示例 5:开始修正,在修正之前发现不合规的资源
$policyAssignmentId = "/subscriptions/f0710c27-9663-4c05-19f8-1b4be01e86a5/providers/Microsoft.Authorization/policyAssignments/2deae24764b447c29af7c309"
Set-AzContext -Subscription "My Subscription"
Start-AzPolicyRemediation -PolicyAssignmentId $policyAssignmentId -Name "remediation1" -ResourceDiscoveryMode ReEvaluateCompliance
此命令在订阅“我的订阅”中为给定策略分配创建新的策略修正。 将根据策略分配重新评估订阅中的资源的符合性状态,并修正不合规的资源。
示例 6:启动修正最多 10,000 个不合规资源
$policyAssignmentId = "/subscriptions/f0710c27-9663-4c05-19f8-1b4be01e86a5/providers/Microsoft.Authorization/policyAssignments/2deae24764b447c29af7c309"
Set-AzContext -Subscription "My Subscription"
Start-AzPolicyRemediation -PolicyAssignmentId $policyAssignmentId -Name "remediation1" -ResourceCount 10000
示例 7:启动可并行修正 30 个资源的修正
$policyAssignmentId = "/subscriptions/f0710c27-9663-4c05-19f8-1b4be01e86a5/providers/Microsoft.Authorization/policyAssignments/2deae24764b447c29af7c309"
Set-AzContext -Subscription "My Subscription"
Start-AzPolicyRemediation -PolicyAssignmentId $policyAssignmentId -Name "remediation1" -ParallelDeploymentCount 30
示例 8:启动修正,如果超过一半的修正部署失败,将终止
$policyAssignmentId = "/subscriptions/f0710c27-9663-4c05-19f8-1b4be01e86a5/providers/Microsoft.Authorization/policyAssignments/2deae24764b447c29af7c309"
Set-AzContext -Subscription "My Subscription"
Start-AzPolicyRemediation -PolicyAssignmentId $policyAssignmentId -Name "remediation1" -FailureThreshold 0.5
参数
-AsJob
在后台运行 cmdlet。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Confirm
在运行 cmdlet 之前,提示你进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
类型: | IAzureContextContainer |
别名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-FailureThreshold
表示失败阈值百分比的 0.0 到 1.0 之间的数字。 如果失败的修正操作(即失败部署)的百分比超过此阈值,则修正将失败。
类型: | Nullable<T>[Double] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-LocationFilter
应包含在修正中的资源位置。 不会修正不驻留在这些位置的资源。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ManagementGroupName
管理组 ID。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Name
资源名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-ParallelDeploymentCount
在任何给定时间修正的资源数。 可用于控制修正的速度。 如果未提供,则使用默认的并行部署值。
类型: | Nullable<T>[Int32] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-PolicyAssignmentId
策略分配 ID。 例如“/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments/{assignmentName}”。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-PolicyDefinitionReferenceId
获取正在修正的单个定义的策略定义引用 ID。 当策略分配分配分配策略集定义时是必需的。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ResourceCount
将修正的最大不合规资源数。 如果未提供,则使用默认资源计数。
类型: | Nullable<T>[Int32] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ResourceDiscoveryMode
描述修正任务如何发现需要修正的资源。 修正管理组范围时不支持 ReEvaluateCompliance。
类型: | String |
接受的值: | ExistingNonCompliant, ReEvaluateCompliance |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ResourceGroupName
资源组名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ResourceId
资源 ID。
类型: | String |
别名: | Id |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Scope
资源的范围。 例如“/subscriptions/{subscriptionId}/resourceGroups/{rgName}”。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
String[]
Nullable<T>[[System.Int32, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
Nullable<T>[[System.Double, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]