Beispielabfragen für Power Platform-Inventar

Die folgenden Beispielabfragen werden für die Tabelle PowerPlatformResources in Azure Resource Graph ausgeführt. Sie decken die Ressourcenzählung und -verteilung, Feldermittlung, Ressourcensuche und Connectornutzungsanalyse ab. Eine Übersicht über den Bestand von Power Platform finden Sie unter Power Platform-Inventar. Die Schema- und Feldreferenz finden Sie unter Power Platform-Bestandsschemareferenz.

So führen Sie diese Abfragen aus

Sie können eine dieser Abfragen über die Azure Resource Graph Schnittstellen ausführen. Schrittweise Anleitungen finden Sie in den folgenden Schnellstarthandbüchern:

Anzahl und Verteilung

Gesamtanzahl aller Ressourcen

PowerPlatformResources
| count

Gesamtzahl nach Ressourcentyp

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

Zählungen nach Umgebung

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

Anzahl nach Region

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

Top-Besitzer nach Elementanzahl

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

Ressourcensuche

Einen einzelnen Agenten im Mandanten finden

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

Tip

Sie finden die ID des Agents in der Copilot Studio-URL, wenn Sie den Agent anzeigen, oder in der Spalte "Name " der Bestandstabelle.

Anzahl der Agenten nach Harness

Zeigt eine Aufschlüsselung von Agents, die mit dem GitHub Copilot Gurt, Copilot Chat Gurt oder Standardgurt erstellt wurden.

Sie können das Harness eines Agents in der Spalte Harness im Power Platform Admin Center unter Verwalten>Copilot Studio sehen. Diese Spalte ist nur eine Benutzeroberflächenspalte. Harness wird noch nicht als Agent-Metadaten zurückgegeben, daher leitet diese Abfrage es aus den Feldern ab, die das Inventar zurückgibt: properties.isCLIAgent, properties.model und properties.createdIn. Wenn das properties.harness Feld verfügbar ist, können Sie es stattdessen direkt abfragen. Informationen zu den Felddefinitionen finden Sie unter Microsoft Copilot Studio Agentinventarschema.

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

Agenten mit ihrem Harness auflisten

Gibt eine Zeile pro Agent mit seinem Gurt zurück, sodass Sie einzelne Agenten finden und handeln können, anstatt sie nur zu zählen. Entfernen Sie die Auskommentierung der Zeile where, damit nur die mit dem GitHub Copilot-Harness erstellten Agents zurückgegeben werden.

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

Elemente, die in den letzten 24 Stunden erstellt wurden

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

Connector-Abfragen (Vorschau)

Die folgenden Abfragen analysieren die Konnektorverwendung in den ressourcentypen, die von Connectorinventar (Vorschau) abgedeckt werden. Jede Abfrage wird auf dem array properties.powerPlatformConnectors ausgeführt, das von Canvas-Apps, modellgesteuerten Apps, Cloudflüssen, Agentflüssen, Workflow-Agent-Flüssen und Copilot Studio Agents ausgegeben wird.

Wichtigste Connectors, die in Power Platform-Ressourcen verwendet werden

Listet die Connectors auf, die von den unterschiedlichsten Ressourcen verwendet werden. Hilfreich, um zu verstehen, welche Konnektoren im gesamten Mandanten am häufigsten genutzt werden.

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

Verteilung der Connectoranzahl pro Ressource

Zeigt, wie viele Ressourcen 0, 1, 2 oder mehr Connectors verwenden. Nützlich für das Erkennen von Komplexitätsausreißern.

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

Suchen aller Ressourcen, die einen bestimmten Connector verwenden

Ersetzen Sie shared_sharepointonline durch den Konnektor, nach dem Sie suchen möchten. Diese Abfrage ist nützlich für die Auswirkungsanalyse, wenn ein Connector ein bekanntes Problem hat, veraltet ist oder eine neue Lizenzierung erfordert.

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

Connectorverwendung nach Umgebung

Listet jeden Connector auf, der in jeder Umgebung verwendet wird, mit der Anzahl der unterschiedlichen Ressourcen, die ihn verwenden. Diese Liste ist nützlich, um Einführungsmuster zu verstehen und DLP-Richtlinienentscheidungen zu informieren.

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