Get-AzPolicyState

リソースのポリシー コンプライアンス状態を取得します。

構文

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

説明

リソースのポリシー コンプライアンス状態を取得します。 ポリシー状態レコードは、さまざまなスコープで照会できます。 指定された時間間隔 (既定値は最終日) に基づいて、最新のポリシー状態またはすべてのポリシー状態遷移を照会できます。 結果はフィルター処理、グループ化、およびグループ集計を計算できます。

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

現在のセッション コンテキストのサブスクリプション内のすべてのリソースについて、最後の日に生成された最新のポリシー状態レコードを取得します。 このコマンドは、コンプライアンスの状態に基づいてフィルター処理によって返される結果を制限します (準拠していない状態のみが含まれます)。 リソース ID に基づいて結果がグループ化されます。これにより、少なくとも 1 つのポリシーに準拠していないサブスクリプション内のすべてのリソースの一覧が生成されます。

例 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' を持つ 1 つ以上のコンマ区切りの列名。

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 表記を使用して式を選択します。 1 つ以上のコンマ区切りの列名。 各レコードの列を、要求された列のみに制限します。

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