你当前正在访问 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。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FailureThreshold

表示失败阈值百分比的 0.0 到 1.0 之间的数字。 如果失败的修正操作(即失败部署)的百分比超过此阈值,则修正将失败。

Type:Nullable<T>[Double]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-LocationFilter

应包含在修正中的资源位置。 不会修正不驻留在这些位置的资源。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ManagementGroupName

管理组 ID。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

资源名称。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ParallelDeploymentCount

在任何给定时间修正的资源数。 可用于控制修正的速度。 如果未提供,则使用默认的并行部署值。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PolicyAssignmentId

策略分配 ID。 例如“/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments/{assignmentName}”。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyDefinitionReferenceId

获取正在修正的单个定义的策略定义引用 ID。 当策略分配分配分配策略集定义时是必需的。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceCount

将修正的最大不合规资源数。 如果未提供,则使用默认资源计数。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceDiscoveryMode

描述修正任务如何发现需要修正的资源。 修正管理组范围时不支持 ReEvaluateCompliance。

Type:String
Accepted values:ExistingNonCompliant, ReEvaluateCompliance
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceGroupName

资源组名称。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceId

资源 ID。

Type:String
Aliases:Id
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Scope

资源的范围。 例如“/subscriptions/{subscriptionId}/resourceGroups/{rgName}”。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

String

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]]

输出

PSRemediation