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: 현재 구독 범위에서 최신 정책 상태 가져오기( 시작 및 받는 방법 쿼리 옵션 사용)

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: 행 개수 집계를 지정하는 Apply를 사용하여 현재 구독 범위에서 최신 정책 상태 가져오기

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))"

현재 세션 컨텍스트에서 구독 내의 모든 리소스에 대해 마지막 날에 생성된 최신 정책 상태 레코드를 가져옵니다. 이 명령은 규정 준수 상태 따라 필터링하여 반환되는 결과를 제한합니다(비준수 상태만 포함). 리소스 ID에 따라 결과를 그룹화합니다. 이렇게 하면 하나 이상의 정책에 대해 비준수인 구독 내의 모든 리소스 목록이 생성됩니다.

예제 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

현재 세션 컨텍스트에서 구독 내의 모든 리소스에 대해 마지막 날에 생성된 최신 정책 상태 레코드를 가져옵니다. 이 명령은 규정 준수 상태 따라 필터링하여 반환되는 결과를 제한합니다(비준수 상태만 포함). 먼저 정책 할당, 정책 집합 정의, 정책 정의 및 리소스 ID에 따라 결과를 그룹화합니다. 그런 다음 리소스 ID를 제외한 동일한 속성을 사용하여 이 그룹화의 결과를 추가로 그룹화하고, 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

정책 할당의 이름입니다. 이 정책 할당은 매개 변수 집합과 정확히 동일한 범위를 가져야 합니다. 관리 그룹 범위 정책 할당일 수 없습니다. 예를 들어 지정된 경우 -SubscriptionIdResourceGroupName 해당 리소스 그룹에 정책 할당을 할당해야 합니다. 지정된 경우에만 -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

리소스 ID입니다.

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