Consultas de ejemplo del inventario de Power Platform

Las siguientes consultas de ejemplo se ejecutan en la tabla PowerPlatformResources en Azure Resource Graph. Abarcan el recuento y distribución de recursos, la detección de campos, las búsquedas de recursos y el análisis de uso del conector. Para obtener información general sobre el inventario de Power Platform, consulte Inventario de Power Platform. Para consultar la referencia del esquema y de los campos, vea Referencia del esquema de inventario de Power Platform.

Cómo ejecutar estas consultas

Puede ejecutar cualquiera de estas consultas desde las interfaces de Azure Resource Graph. Para obtener instrucciones paso a paso, consulte las siguientes guías de inicio rápido:

Recuentos y distribución

Recuento total de todos los recursos

PowerPlatformResources
| count

Recuentos totales por tipo de recurso

PowerPlatformResources
| summarize resourceCount = count() by type
| order by resourceCount

Recuentos por entorno

PowerPlatformResources
| extend properties = parse_json(properties)
| extend environmentId = tostring(properties.environmentId)
| summarize resourceCount = count() by environmentId
| order by resourceCount desc

Recuentos por región

PowerPlatformResources
| summarize resourceCount = count() by location
| order by resourceCount desc

Principales propietarios por recuento de elementos

PowerPlatformResources
| extend properties = parse_json(properties)
| extend ownerId = tostring(properties.ownerId)
| summarize resourceCount = count() by ownerId
| order by resourceCount desc

Búsquedas de recursos

Búsqueda de un agente único en el inquilino

PowerPlatformResources
| where type == "microsoft.copilotstudio/agents"
| where name == "[Enter the agent's ID]"

Tip

Puede encontrar el identificador del agente en la dirección URL de Copilot Studio al ver el agente o en la columna Nombre de la tabla de inventario.

Recuento de agentes por arnés

Muestra un desglose de los agentes creados con el arnés Microsoft Copilot, Copilot Chat o el arnés estándar.

Puede ver el arnés de un agente en la columna Harness del Centro de administración de Power Platform, en Administrar>Copilot Studio. Esa columna es solo una columna de interfaz de usuario. Harness aún no se devuelve como metadatos del agente, por lo que esta consulta la deriva de los campos que devuelve el inventario: properties.isCLIAgent, properties.modely properties.createdIn. Cuando el properties.harness campo esté disponible, puede consultarlo directamente en su lugar. Para consultar las definiciones de los campos, consulte esquema de inventario de agentes de Microsoft Copilot Studio.

PowerPlatformResources
| where type == "microsoft.copilotstudio/agents"
| extend properties = parse_json(properties)
| extend
    isCLIAgent = tobool(properties.isCLIAgent),
    model = tostring(properties.model),
    createdIn = tostring(properties.createdIn)
| extend harness = case(
    isCLIAgent == true, "GitHub Copilot",
    model =~ "Microsoft 365 Copilot" or createdIn =~ "Microsoft 365 Copilot Agent Builder", "Copilot Chat",
    "Standard")
| summarize agentCount = count() by harness
| order by agentCount desc

Enumerar agentes con su arnés

Devuelve una fila por agente con su arnés, por lo que puede encontrar y actuar en agentes individuales en lugar de contarlos solo. Quite la marca de comentario de la where línea para devolver solo los agentes creados con el harness de Microsoft Copilot.

PowerPlatformResources
| where type == "microsoft.copilotstudio/agents"
| extend properties = parse_json(properties)
| extend
    isCLIAgent = tobool(properties.isCLIAgent),
    model = tostring(properties.model),
    createdIn = tostring(properties.createdIn)
| extend harness = case(
    isCLIAgent == true, "GitHub Copilot",
    model =~ "Microsoft 365 Copilot" or createdIn =~ "Microsoft 365 Copilot Agent Builder", "Copilot Chat",
    "Standard")
//| where harness == "GitHub Copilot"
| project agentName = tostring(properties.displayName),
          agentId = name,
          harness,
          environmentId = tostring(properties.environmentId),
          ownerId = tostring(properties.ownerId),
          createdAt = todatetime(properties.createdAt)
| order by harness asc, createdAt desc

Elementos creados en las últimas 24 horas

PowerPlatformResources
| extend properties = parse_json(properties)
| extend createdAt = todatetime(properties.createdAt)
| where createdAt >= ago(24h)

consultas de Power Pages (versión preliminar)

Las consultas de Power Pages usan el tipo de recurso microsoft.powerpages/sites. El inventario de Power Pages solo está disponible para administradores globales, administradores de Power Platform y administradores de Dynamics 365.

Enumerar sitios de Power Pages

Esta consulta devuelve un inventario de todo el inquilino de sitios de Power Pages con su entorno, propietario y fechas de creación y modificación.

PowerPlatformResources
| where type =~ "microsoft.powerpages/sites"
| extend properties = parse_json(properties)
| project siteName = tostring(properties.displayName),
    siteId = name,
    environmentId = tostring(properties.environmentId),
    ownerId = tostring(properties.ownerId),
    createdOn = todatetime(properties.createdAt),
    lastModifiedOn = todatetime(properties.lastModifiedAt)
| order by siteName asc

Recuento de sitios Power Pages por entorno

Esta consulta muestra qué entornos contienen más sitios de Power Pages.

PowerPlatformResources
| where type =~ "microsoft.powerpages/sites"
| extend properties = parse_json(properties)
| extend environmentId = tostring(properties.environmentId)
| summarize siteCount = count() by environmentId
| order by siteCount desc

Recuento de sitios Power Pages por propietario

En esta consulta se muestran los propietarios asociados al mayor número de sitios de Power Pages para admitir revisiones de propiedad y planeamiento de continuidad empresarial.

PowerPlatformResources
| where type =~ "microsoft.powerpages/sites"
| extend properties = parse_json(properties)
| extend ownerId = tostring(properties.ownerId)
| summarize siteCount = count() by ownerId
| order by siteCount desc

sitios de Power Pages con acceso anónimo habilitado

Esta consulta busca sitios cuyos metadatos de inventario indican que se permite el acceso anónimo.

PowerPlatformResources
| where type =~ "microsoft.powerpages/sites"
| extend properties = parse_json(properties)
| extend anonymousAccessEnabled = tobool(properties.anonymousAccessAllowed)
| where anonymousAccessEnabled == true
| project siteName = tostring(properties.displayName),
    siteId = name,
    environmentId = tostring(properties.environmentId),
    websiteUrl = tostring(properties.siteUrl)
| order by siteName asc

Sitios de Power Pages creados recientemente

Esta consulta devuelve sitios creados durante los últimos 30 días. Ajuste el intervalo según sea necesario.

PowerPlatformResources
| where type =~ "microsoft.powerpages/sites"
| extend properties = parse_json(properties)
| extend createdOn = todatetime(properties.createdAt)
| where createdOn >= ago(30d)
| project siteName = tostring(properties.displayName),
    siteId = name,
    environmentId = tostring(properties.environmentId),
    ownerId = tostring(properties.ownerId),
    createdOn
| order by createdOn desc

Sitios de Power Pages con dominios personalizados

Esta consulta devuelve sitios cuyos metadatos de inventario incluyen una dirección URL de sitio personalizada.

PowerPlatformResources
| where type =~ "microsoft.powerpages/sites"
| extend properties = parse_json(properties)
| extend customDomain = tostring(properties.customSiteUrl)
| where isnotempty(customDomain)
| project siteName = tostring(properties.displayName),
    siteId = name,
    environmentId = tostring(properties.environmentId),
    websiteUrl = tostring(properties.siteUrl),
    customDomain
| order by siteName asc

Power Pages con otros recursos de Power Platform

Esta consulta resume los recuentos de recursos por tipo y entorno en Power Platform, incluidos los sitios de Power Pages. Se excluyen los registros sin un identificador de entorno.

PowerPlatformResources
| extend properties = parse_json(properties)
| extend environmentId = tostring(properties.environmentId)
| where isnotempty(environmentId)
| summarize resourceCount = count() by environmentId, type
| order by environmentId asc, resourceCount desc

Consultas del conector

Las consultas siguientes analizan el uso de conectores en los tipos de recursos cubiertos por el Inventario de conectores. Cada consulta opera sobre la matriz properties.powerPlatformConnectors emitida por aplicaciones de lienzo, aplicaciones controladas por modelos, aplicaciones creadas en el entorno de ejecución administrado de Copilot, flujos en la nube, flujos de agente, flujos de agente de flujo de trabajo, agentes de Copilot Studio en el arnés Estándar o arnés de Microsoft Copilot, y agentes creados en Agent Builder de Microsoft 365 Copilot. Las aplicaciones creadas en el entorno de ejecución administrado de Copilot usan el tipo microsoft.powerapps/apps con el subtipo microsoftApp. Las consultas excluyen las aplicaciones de App Builder, que usan el mismo tipo, pero no emiten datos del conector.

Principales conectores usados en los recursos de Power Platform

Enumera los conectores usados por los recursos más distintos. Es útil para entender qué conectores lideran la adopción en toda la organización.

PowerPlatformResources
| where type in (
    "microsoft.powerapps/canvasapps",
    "microsoft.powerapps/modeldrivenapps",
    "microsoft.powerapps/apps",
    "microsoft.powerautomate/cloudflows",
    "microsoft.powerautomate/agentflows",
    "microsoft.powerautomate/m365agentflows",
    "microsoft.copilotstudio/agents")
| extend properties = parse_json(properties)
| where type != "microsoft.powerapps/apps" or tostring(properties.subType) == "microsoftApp"
| mv-expand connector = properties.powerPlatformConnectors
| extend connectorId = tostring(connector.connectorId)
| where isnotempty(connectorId)
| summarize ResourceCount = dcount(name) by connectorId
| order by ResourceCount desc
| take 10

Distribución del recuento de conectores por recurso

Muestra cuántos recursos usan 0, 1, 2 o más conectores. Útil para detectar valores atípicos de complejidad.

PowerPlatformResources
| where type in (
    "microsoft.powerapps/canvasapps",
    "microsoft.powerapps/modeldrivenapps",
    "microsoft.powerapps/apps",
    "microsoft.powerautomate/cloudflows",
    "microsoft.powerautomate/agentflows",
    "microsoft.powerautomate/m365agentflows",
    "microsoft.copilotstudio/agents")
| extend properties = parse_json(properties)
| where type != "microsoft.powerapps/apps" or tostring(properties.subType) == "microsoftApp"
| extend connectorCount = array_length(properties.powerPlatformConnectors)
| summarize ResourceCount = count() by toint(connectorCount)
| order by connectorCount asc

Búsqueda de todos los recursos que usan un conector específico

Reemplace por shared_sharepointonline el conector que desea buscar. Esta consulta es útil para el análisis de impacto cuando un conector tiene un problema conocido, está en desuso o requiere nuevas licencias.

PowerPlatformResources
| where type in (
    "microsoft.powerapps/canvasapps",
    "microsoft.powerapps/modeldrivenapps",
    "microsoft.powerapps/apps",
    "microsoft.powerautomate/cloudflows",
    "microsoft.powerautomate/agentflows",
    "microsoft.powerautomate/m365agentflows",
    "microsoft.copilotstudio/agents")
| extend properties = parse_json(properties)
| where type != "microsoft.powerapps/apps" or tostring(properties.subType) == "microsoftApp"
| mv-expand connector = properties.powerPlatformConnectors
| where tostring(connector.connectorId) == "shared_sharepointonline"
| project resourceName = tostring(properties.displayName),
          resourceId = name,
          resourceType = type,
          environmentId = tostring(properties.environmentId),
          operationsUsed = connector.operations

Uso del conector por entorno

Enumera todos los conectores usados en cada entorno, con el recuento de distintos recursos que lo usan. Esta lista es útil para comprender los patrones de adopción e informar a las decisiones de directiva DLP.

PowerPlatformResources
| where type in (
    "microsoft.powerapps/canvasapps",
    "microsoft.powerapps/modeldrivenapps",
    "microsoft.powerapps/apps",
    "microsoft.powerautomate/cloudflows",
    "microsoft.powerautomate/agentflows",
    "microsoft.powerautomate/m365agentflows",
    "microsoft.copilotstudio/agents")
| extend properties = parse_json(properties)
| where type != "microsoft.powerapps/apps" or tostring(properties.subType) == "microsoftApp"
| mv-expand connector = properties.powerPlatformConnectors
| extend connectorId = tostring(connector.connectorId)
| where isnotempty(connectorId)
| extend environmentId = tostring(properties.environmentId)
| summarize ResourceCount = dcount(name) by environmentId, connectorId
| order by environmentId asc, ResourceCount desc