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>]
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 |
接受管線輸入: | 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
管理群組標識碼。
類型: | 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
原則指派標識碼。 例如 '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments/{assignmentName}'。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-PolicyDefinitionReferenceId
取得正在補救之個別定義的原則定義參考標識碼。 當原則指派指派原則集定義時為必要專案。
類型: | 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
資源標識碼。
類型: | 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]]