共用方式為


Start-AzPolicyRemediation

建立並啟動原則指派的原則補救。

Syntax

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

Description

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"

此命令會針對指定的原則指派,在訂用帳戶 『My Subscription』 中建立新的原則補救。

範例 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』 中為指定的原則指派建立新的原則補救。 原則指派會指派原則集定義(也稱為方案)。 原則定義參考標識碼會指出應該補救計劃內的哪一個原則。

範例 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

此命令會針對指定的原則指派,在訂用帳戶 『My Subscription』 中建立新的原則補救。 系統會根據原則指派重新評估訂用帳戶中的資源合規性狀態,並補救不符合規範的資源。

範例 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
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
Aliases:cf
Position:Named
預設值:None
必要:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。

類型:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
Accept pipeline input:False
Accept wildcard characters:False

-FailureThreshold

代表失敗臨界值百分比的 0.0 到 1.0 之間的數位。 如果失敗的補救作業百分比(也就是失敗的部署)超過此閾值,補救將會失敗。

類型:Nullable<T>[Double]
Position:Named
預設值:None
必要:False
Accept pipeline input:True
Accept wildcard characters:False

-LocationFilter

應該包含在補救中的資源位置。 不會補救不在這些位置的資源。

類型:String[]
Position:Named
預設值:None
必要:False
Accept pipeline input:True
Accept wildcard characters:False

-ManagementGroupName

管理群組標識碼。

類型:String
Position:Named
預設值:None
必要:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

資源名稱。

類型:String
Position:Named
預設值:None
必要:True
Accept pipeline input:True
Accept wildcard characters:False

-ParallelDeploymentCount

在任何指定時間補救多少資源。 可用來控制補救的步調。 如果未提供,則會使用預設的平行部署值。

類型:Nullable<T>[Int32]
Position:Named
預設值:None
必要:False
Accept pipeline input:True
Accept wildcard characters:False

-PolicyAssignmentId

原則指派標識碼。 例如 '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments/{assignmentName}'。

類型:String
Position:Named
預設值:None
必要:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyDefinitionReferenceId

取得正在補救之個別定義的原則定義參考標識碼。 當原則指派指派原則集定義時為必要專案。

類型:String
Position:Named
預設值:None
必要:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceCount

將補救的不符合規範資源數目上限。 如果未提供,則會使用預設資源計數。

類型:Nullable<T>[Int32]
Position:Named
預設值:None
必要:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceDiscoveryMode

描述補救工作如何探索需要補救的資源。 補救管理群組範圍時不支援 ReEvaluateCompliance。

類型:String
接受的值:ExistingNonCompliant, ReEvaluateCompliance
Position:Named
預設值:None
必要:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceGroupName

資源組名。

類型:String
Position:Named
預設值:None
必要:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceId

資源標識碼。

類型:String
Aliases:Id
Position:Named
預設值:None
必要:True
Accept pipeline input:True
Accept wildcard characters:False

-Scope

資源的範圍。 例如 '/subscriptions/{subscriptionId}/resourceGroups/{rgName}'。

類型:String
Position:Named
預設值:None
必要:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
Aliases:wi
Position:Named
預設值:None
必要: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