你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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:获取当前订阅范围内的最新策略状态,其中包含“从”和“到”查询选项

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

获取当前会话上下文中订阅中所有资源在最后一天生成的最新策略状态记录。 此命令根据策略定义操作筛选返回的结果限制, (包括拒绝或审核操作) ,符合性状态 (仅包括不符合状态) 和资源位置 (排除东部位置) 。

示例 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 对结果进行分组。这会生成订阅中不符合至少一个策略的所有资源的列表。

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

-Apply

使用 OData 表示法为聚合应用表达式。

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

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Expand

使用 OData 表示法展开表达式。

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

-Filter

使用 OData 表示法筛选表达式。

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

-From

ISO 8601 格式化时间戳,指定要查询的时间间隔的开始时间。 如果未指定,则默认为“To”参数值减去 1 天。

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

-ManagementGroupName

管理组名称。

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

-OrderBy

使用 OData 表示法对表达式进行排序。 具有可选“desc”的一个或多个逗号分隔列名 (默认) 或“asc”。

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

-PolicyAssignmentName

策略分配的名称。 此策略分配必须与参数集完全相同。 它不能是管理组策略分配。 例如:如果 -SubscriptionIdResourceGroupName 指定,则必须将策略分配分配给该资源组。 如果仅 -SubscriptionId 指定,则必须将策略分配分配给该订阅。

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

-PolicyDefinitionName

策略定义的名称。 此策略定义必须存在于要查询的订阅中。 它不能是管理组策略定义。

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

-PolicySetDefinitionName

策略集定义的名称。 此策略集定义必须存在于要查询的订阅中。 它不能是管理组策略集定义。

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

-ResourceGroupName

资源组名称。

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

-ResourceId

资源 ID。

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

-Select

使用 OData 表示法选择表达式。 一个或多个逗号分隔列名。 将每个记录上的列限制为仅请求的列。

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

-SubscriptionId

订阅 ID。

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

-To

ISO 8601 格式化时间戳,指定要查询的时间间隔的结束时间。 如果未指定,则默认为请求时间。

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

-Top

要返回的最大记录数。

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

输入

String

输出

PolicyState