Get-AzPolicyState

取得資源的原則合規性狀態。

Syntax

Get-AzPolicyState
   [-All]
   [-SubscriptionId <String>]
   [-Top <Int32>]
   [-OrderBy <String>]
   [-Select <String>]
   [-From <DateTime>]
   [-To <DateTime>]
   [-Filter <String>]
   [-Apply <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzPolicyState
   [-All]
   -ManagementGroupName <String>
   [-Top <Int32>]
   [-OrderBy <String>]
   [-Select <String>]
   [-From <DateTime>]
   [-To <DateTime>]
   [-Filter <String>]
   [-Apply <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzPolicyState
   [-All]
   [-SubscriptionId <String>]
   -ResourceGroupName <String>
   [-Top <Int32>]
   [-OrderBy <String>]
   [-Select <String>]
   [-From <DateTime>]
   [-To <DateTime>]
   [-Filter <String>]
   [-Apply <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzPolicyState
   [-All]
   -ResourceId <String>
   [-Top <Int32>]
   [-OrderBy <String>]
   [-Select <String>]
   [-From <DateTime>]
   [-To <DateTime>]
   [-Filter <String>]
   [-Apply <String>]
   [-Expand <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzPolicyState
   [-All]
   [-SubscriptionId <String>]
   -PolicySetDefinitionName <String>
   [-Top <Int32>]
   [-OrderBy <String>]
   [-Select <String>]
   [-From <DateTime>]
   [-To <DateTime>]
   [-Filter <String>]
   [-Apply <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzPolicyState
   [-All]
   [-SubscriptionId <String>]
   -PolicyDefinitionName <String>
   [-Top <Int32>]
   [-OrderBy <String>]
   [-Select <String>]
   [-From <DateTime>]
   [-To <DateTime>]
   [-Filter <String>]
   [-Apply <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzPolicyState
   [-All]
   [-SubscriptionId <String>]
   -PolicyAssignmentName <String>
   [-Top <Int32>]
   [-OrderBy <String>]
   [-Select <String>]
   [-From <DateTime>]
   [-To <DateTime>]
   [-Filter <String>]
   [-Apply <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzPolicyState
   [-All]
   [-SubscriptionId <String>]
   -ResourceGroupName <String>
   -PolicyAssignmentName <String>
   [-Top <Int32>]
   [-OrderBy <String>]
   [-Select <String>]
   [-From <DateTime>]
   [-To <DateTime>]
   [-Filter <String>]
   [-Apply <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

取得資源的原則合規性狀態。 您可以在各種範圍查詢原則狀態記錄。 根據指定的時間間隔(預設為最後一天),可以查詢最新的原則狀態或所有原則狀態轉換。 您可以計算結果、分組和群組匯總。

範例

範例 1:取得目前訂用帳戶範圍的最新原則狀態

Get-AzPolicyState

取得目前會話內容中訂用帳戶內所有資源最後一天所產生的最新原則狀態記錄。

範例 2:取得指定訂用帳戶範圍中的最新原則狀態

Get-AzPolicyState -SubscriptionId "fff10b27-fff3-fff5-fff8-fffbe01e86a5"

取得指定訂用帳戶內所有資源最後一天所產生的最新原則狀態記錄。

範例 3:取得目前訂用帳戶範圍中的所有原則狀態

Get-AzPolicyState -All

取得目前工作階段內容中訂用帳戶內所有資源最後一天所產生的所有歷程記錄狀態記錄(包括最新記錄)。

範例 4:取得管理群組範圍中的最新原則狀態

Get-AzPolicyState -ManagementGroupName "myManagementGroup"

取得指定管理群組內所有資源最後一天所產生的最新原則狀態記錄。

範例 5:取得目前訂用帳戶中資源群組範圍的最新原則狀態

Get-AzPolicyState -ResourceGroupName "myResourceGroup"

取得指定資源群組內所有資源的最後一天所產生的最新原則狀態記錄(在目前工作階段內容中的訂用帳戶中)。

範例 6:取得指定訂用帳戶中資源群組範圍的最新原則狀態

Get-AzPolicyState -SubscriptionId "fff10b27-fff3-fff5-fff8-fffbe01e86a5" -ResourceGroupName "myResourceGroup"

取得最後一天針對指定資源群組內所有資源所產生的最新原則狀態記錄(在指定的訂用帳戶中)。

範例 7:取得資源的最新原則狀態

Get-AzPolicyState -ResourceId "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/namespaces/myns1/eventhubs/eh1/consumergroups/cg1"

取得指定資源最後一天所產生的最新原則狀態記錄。

範例 8:取得目前訂用帳戶中原則集定義的最新原則狀態

Get-AzPolicyState -PolicySetDefinitionName "fff58873-fff8-fff5-fffc-fffbe7c9d697"

取得由指定原則集定義所影響之所有資源(目前會話內容中租使用者內)在最後一天產生的最新原則狀態記錄(存在於目前會話內容中的訂用帳戶中)。

範例 9:取得指定訂用帳戶中原則集定義的最新原則狀態

Get-AzPolicyState -SubscriptionId "fff10b27-fff3-fff5-fff8-fffbe01e86a5" -PolicySetDefinitionName "fff58873-fff8-fff5-fffc-fffbe7c9d697"

取得由指定原則集定義所影響之所有資源的最後一天所產生的最新原則狀態記錄(位於目前會話內容中的租用戶內)。

範例 10:取得目前訂用帳戶中原則定義的最新原則狀態

Get-AzPolicyState -PolicyDefinitionName "fff58873-fff8-fff5-fffc-fffbe7c9d697"

取得由指定原則定義所影響之所有資源最後一天所產生的最新原則狀態記錄(目前會話內容中的租用戶內)所產生的狀態記錄(存在於目前會話內容中的訂用帳戶中)。

範例 11:取得指定訂用帳戶中原則定義的最新原則狀態

Get-AzPolicyState -SubscriptionId "fff10b27-fff3-fff5-fff8-fffbe01e86a5" -PolicyDefinitionName "fff58873-fff8-fff5-fffc-fffbe7c9d697"

取得由指定原則定義所影響之所有資源最後一天所產生的最新原則狀態記錄(目前會話內容中的租使用者中)。

範例 12:取得目前訂用帳戶中原則指派的最新原則狀態

Get-AzPolicyState -PolicyAssignmentName "ddd8ef92e3714a5ea3d208c1"

取得由指定原則指派所影響之所有資源最後一天所產生的最新原則狀態記錄(存在於目前會話內容中訂用帳戶中的訂用帳戶範圍)。

範例 13:取得與指定訂用帳戶相同範圍之原則指派的最新原則狀態

Get-AzPolicyState -SubscriptionId "fff10b27-fff3-fff5-fff8-fffbe01e86a5" -PolicyAssignmentName "ddd8ef92e3714a5ea3d208c1"

取得由指定原則指派所影響之所有資源最後一天所產生的最新原則狀態記錄(位於指定訂用帳戶中的訂用帳戶範圍)所影響的所有資源(在目前會話內容中的租使用者中)。

範例 14:取得目前訂用帳戶中指定資源群組中原則指派的最新原則狀態

Get-AzPolicyState -ResourceGroupName "myResourceGroup" -PolicyAssignmentName "ddd8ef92e3714a5ea3d208c1"

取得由指定原則指派所影響之所有資源最後一天所產生的最新原則狀態記錄(存在於目前會話內容中訂用帳戶中的資源群組中)。

範例 15:取得目前訂用帳戶範圍中的最新原則狀態,其中包含 OrderBy、Top 和 Select 查詢選項

Get-AzPolicyState -OrderBy "Timestamp desc, PolicyAssignmentName asc" -Top 5 -Select "Timestamp, ResourceId, PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionId, IsCompliant"

取得目前會話內容中訂用帳戶內所有資源最後一天所產生的最新原則狀態記錄。 命令會依時間戳和原則指派名稱屬性來排序結果,並只採用該順序序列出的前5名。 它也會選取只列出每個記錄的數據行子集。

範例 16:使用 From 和 To 查詢選項取得目前訂用帳戶範圍的最新原則狀態

Get-AzPolicyState -From "2018-03-08 00:00:00Z" -To "2018-03-15 00:00:00Z"

取得針對目前會話內容中訂用帳戶內所有資源所指定日期範圍內所產生的最新原則狀態記錄。

範例 17:使用 [篩選查詢] 選項取得目前訂用帳戶範圍的最新原則狀態

Get-AzPolicyState -Filter "(PolicyDefinitionAction eq 'deny' or PolicyDefinitionAction eq 'audit') and ComplianceState eq 'NonCompliant' and ResourceLocation ne 'eastus'"

取得目前會話內容中訂用帳戶內所有資源最後一天所產生的最新原則狀態記錄。 命令會根據原則定義動作(包括拒絕或稽核動作)、合規性狀態(僅包含不符合規範的狀態)和資源位置(不包括eastus位置)進行篩選來限制傳回的結果。

範例 18:取得目前訂用帳戶範圍的最新原則狀態,並套用指定數據列計數匯總

Get-AzPolicyState -Apply "aggregate(`$count as NumberOfRecords)"

取得目前會話內容中訂用帳戶內所有資源在最後一天所產生的最新原則狀態記錄數目。 此命令只會傳回原則狀態記錄的計數,此記錄只會在AdditionalProperties屬性內傳回。

範例 19:取得目前訂用帳戶範圍的最新原則狀態,並套用使用匯總指定群組

Get-AzPolicyState -Filter "ComplianceState eq 'NonCompliant'" -Apply "groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionReferenceId, PolicyDefinitionId), aggregate(`$count as NumStates))" -OrderBy "NumStates desc" -Top 5

取得目前會話內容中訂用帳戶內所有資源最後一天所產生的最新原則狀態記錄。 命令會根據合規性狀態篩選來限制傳回的結果(只包含不符合規範的狀態)。 它會根據原則指派、原則集定義和原則定義來分組結果,並計算每個群組中的記錄數目,這會在 AdditionalProperties 屬性內傳回。 它會依遞減順序的計數匯總來排序結果,並只採用該順序所列的前 5 個結果。

範例 20:取得目前訂用帳戶範圍的最新原則狀態,並套用指定群組而不匯總

Get-AzPolicyState -Filter "ComplianceState eq 'NonCompliant'" -Apply "groupby((ResourceId))"

取得目前會話內容中訂用帳戶內所有資源最後一天所產生的最新原則狀態記錄。 命令會根據合規性狀態篩選來限制傳回的結果(只包含不符合規範的狀態)。 它會根據資源標識碼將結果分組。這會針對至少一個原則產生訂用帳戶內不符合規範的所有資源清單。

範例 21:取得目前訂用帳戶範圍的最新原則狀態,並套用指定多個群組

Get-AzPolicyState -Filter "ComplianceState eq 'NonCompliant'" -Apply "groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionReferenceId, PolicyDefinitionId, ResourceId))/groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionReferenceId, PolicyDefinitionId), aggregate(`$count as NumNonCompliantResources))" -OrderBy "NumNonCompliantResources desc" -Top 5

取得目前會話內容中訂用帳戶內所有資源最後一天所產生的最新原則狀態記錄。 命令會根據合規性狀態篩選來限制傳回的結果(只包含不符合規範的狀態)。 它會先根據原則指派、原則集定義、原則定義和資源標識符,將結果分組。然後,它會使用資源標識符以外的相同屬性,進一步將這個群組的結果分組,並計算這些群組中每個群組中的記錄數目,這會在AdditionalProperties屬性內傳回。 它會依遞減順序的計數匯總來排序結果,並只採用該順序所列的前 5 個結果。 這會產生前 5 個原則,其中包含最多數目不符合規範的資源。

範例 22:取得最新的原則狀態,包括資源的原則評估詳細數據

Get-AzPolicyState -ResourceId "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/namespaces/myns1/eventhubs/eh1/consumergroups/cg1" -Expand "PolicyEvaluationDetails"

取得指定資源的最後一天所產生的最新原則狀態記錄,並展開 policyEvaluationDetails。

範例 23:根據資源提供者模式原則指派,取得資源的最新元件原則狀態(例如保存庫)

Get-AzPolicyState -ResourceId "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myvault" -Filter "policyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ddd8ef92e3714a5ea3d208c1'" -Expand "Components(`$filter=ComplianceState eq 'NonCompliant' or ComplianceState eq 'Compliant')"

取得指定資源最後一天所產生的最新元件原則狀態記錄,指定參考資源提供者模式原則定義的資源提供者模式原則指派。

範例 24:針對包含資源提供者模式原則定義的原則計劃指派,取得資源的最新元件原則狀態(例如保存庫)

Get-AzPolicyState -ResourceId "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myvault" -Filter "policyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ddd8ef92e3714a5ea3d208c1' and policyDefinitionReferenceId eq 'myResourceProviderModeDefinitionReferenceId'" -Expand "Components(`$filter=ComplianceState eq 'NonCompliant' or ComplianceState eq 'Compliant')"

取得指定資源最後一天所產生的最新元件原則狀態記錄,指定參考包含資源提供者模式原則定義的計劃的資源提供者模式原則指派。

範例 25:針對資源提供者模式原則指派,依合規性狀態取得最新的元件計數(例如保存庫)

Get-AzPolicyState -ResourceId "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myvault" -Filter "policyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ddd8ef92e3714a5ea3d208c1'" -Expand "Components(`$filter=ComplianceState eq 'NonCompliant' or ComplianceState eq 'Compliant' or ComplianceState eq 'Conflict';`$apply=groupby((complianceState),aggregate(`$count as count)))"

根據指定資源的資源提供者模式原則指派,取得依合規性狀態分組的最後一天所產生的最新元件計數。

範例 26:取得管理群組範圍原則指派的原則狀態

Get-AzPolicyState -SubscriptionId "fff10b27-fff3-fff5-fff8-fffbe01e86a5" -Filter "policyAssignmentId eq '/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ddd8ef92e3714a5ea3d208c1'"

取得受指定原則指派影響之指定訂用帳戶中所有資源(目前會話內容中租使用者內)最後一天所產生的最新原則狀態記錄(指派給屬於指定訂用帳戶上階的管理群組)。

參數

-All

在指定的時間間隔內,取得所有原則狀態,而不是只取得最新的狀態。

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

-Apply

使用 OData 表示法套用匯總的表達式。

Type:String
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

-Expand

使用 OData 表示法展開表達式。

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

-Filter

使用 OData 表示法篩選表達式。

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

-From

ISO 8601 格式化時間戳,指定要查詢的間隔開始時間。 未指定時,預設為 『To』 參數值減去 1 天。

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

-ManagementGroupName

管理組名。

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

-OrderBy

使用 OData 表示法排序表達式。 一或多個逗號分隔的數據行名稱,具有選擇性的 『desc』 (預設值) 或 'asc'。

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

-PolicyAssignmentName

原則指派的名稱。 此原則指派必須與參數集完全相同的範圍。 它不能是管理組策略指派。 例如:如果 -SubscriptionId 指定 和 ResourceGroupName ,則必須將原則指派指派給該資源群組。 如果只有 -SubscriptionId 指定,則必須將原則指派指派給該訂用帳戶。

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

-PolicyDefinitionName

原則定義的名稱。 此原則定義必須存在於要查詢的訂用帳戶中。 它不能是管理群組範圍原則定義。

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

-PolicySetDefinitionName

原則集定義的名稱。 此原則集定義必須存在於要查詢的訂用帳戶中。 它不能是管理組策略集定義。

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

-ResourceGroupName

資源組名。

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

-ResourceId

資源標識碼。

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

-Select

使用 OData 表示法選取表達式。 一或多個逗號分隔的數據行名稱。 將每個記錄上的數據行限制為只要求的數據行。

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

-SubscriptionId

訂用帳戶 ID。

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

-To

ISO 8601 格式化時間戳,指定要查詢之間隔的結束時間。 未指定時,預設為要求時間。

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

-Top

要傳回的記錄數目上限。

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

輸入

String

輸出

PolicyState