Query di esempio per l'inventario di Power Platform

Le query di esempio seguenti vengono eseguite sulla tabella PowerPlatformResources in Azure Resource Graph. Vengono trattati il conteggio e la distribuzione delle risorse, l'individuazione dei campi, le ricerche delle risorse e l'analisi dell'utilizzo del connettore. Per una panoramica dell'inventario di Power Platform, vedere Inventario di Power Platform. Per informazioni di riferimento sullo schema e sul campo, vedere Informazioni di riferimento sullo schema di inventario di Power Platform.

Come eseguire queste query

È possibile eseguire una di queste query dalle interfacce Azure Resource Graph. Per istruzioni dettagliate, vedere le guide introduttive seguenti:

Conteggi e distribuzione

Conteggio totale di tutte le risorse

PowerPlatformResources
| count

Conteggi totali per tipo di risorsa

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

Conteggi in base all'ambiente

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

Conteggi per area geografica

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

Proprietari principali per numero di elementi

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

Ricerche di risorse

Trova un singolo agente nel tenant

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

Tip

È possibile trovare l'ID dell'agente nell'URL di Copilot Studio quando si visualizza l'agente o nella colonna Nome della tabella di inventario.

Contare gli agenti tramite imbracatura

Mostra una ripartizione degli agenti creati con GitHub Copilot harness, Copilot Chat harness o Standard harness.

È possibile visualizzare l'imbracatura di un agente nella colonna Harness nell'interfaccia di amministrazione di Power Platform, in Gestisci>Copilot Studio. La colonna è solo una colonna dell'interfaccia utente. Harness non viene ancora restituito come metadati dell'agente, quindi questa query la deriva dai campi restituiti dall'inventario: properties.isCLIAgent, properties.modele properties.createdIn. Quando il properties.harness campo diventa disponibile, è possibile eseguirne una query direttamente. Per le definizioni dei campi, consultare Microsoft Copilot Studio schema di inventario degli agenti.

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

Elenca gli agenti con la loro imbracatura

Restituisce una riga per ogni agente con il relativo harness, in modo da poter individuare e intervenire sui singoli agenti anziché limitarsi a contarli. Decommentare la riga where per ottenere solo gli agenti creati con GitHub Copilot harness.

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

Elementi creati nelle ultime 24 ore

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

Query del connettore (anteprima)

Le query seguenti analizzano l'utilizzo del connettore tra i tipi di risorse coperti dall'inventario connettore (anteprima). Ogni query viene eseguita sull'array properties.powerPlatformConnectors prodotto dalle app canvas, dalle app basate su modello, dai flussi cloud, dai flussi degli agenti, dai flussi degli agenti del workflow e dagli agenti di Copilot Studio.

Principali connettori usati tra le risorse di Power Platform

Elenca i connettori usati dalle risorse più distinte. Utile per comprendere quali connettori sono più adottati all'interno del tenant.

PowerPlatformResources
| where type in (
    "microsoft.powerapps/canvasapps",
    "microsoft.powerapps/modeldrivenapps",
    "microsoft.powerautomate/cloudflows",
    "microsoft.powerautomate/agentflows",
    "microsoft.powerautomate/m365agentflows",
    "microsoft.copilotstudio/agents")
| extend properties = parse_json(properties)
| 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

Distribuzione del numero di connettori per risorsa

Mostra il numero di risorse che usano 0, 1, 2 o più connettori. Utile per individuare gli outlier di complessità.

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

Trovare tutte le risorse che usano un connettore specifico

Sostituire shared_sharepointonline con il connettore che si vuole cercare. Questa query è utile per l'analisi dell'impatto quando un connettore presenta un problema noto, è deprecato o richiede nuove licenze.

PowerPlatformResources
| where type in (
    "microsoft.powerapps/canvasapps",
    "microsoft.powerapps/modeldrivenapps",
    "microsoft.powerautomate/cloudflows",
    "microsoft.powerautomate/agentflows",
    "microsoft.powerautomate/m365agentflows",
    "microsoft.copilotstudio/agents")
| extend properties = parse_json(properties)
| 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

Utilizzo del connettore per ambiente

Elenca ogni connettore usato in ogni ambiente, con il numero di risorse distinte che lo usano. Questo elenco è utile per comprendere i modelli di adozione e orientare le decisioni relative ai criteri DLP.

PowerPlatformResources
| where type in (
    "microsoft.powerapps/canvasapps",
    "microsoft.powerapps/modeldrivenapps",
    "microsoft.powerautomate/cloudflows",
    "microsoft.powerautomate/agentflows",
    "microsoft.powerautomate/m365agentflows",
    "microsoft.copilotstudio/agents")
| extend properties = parse_json(properties)
| 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