Power Platform-voorbeeldquery’s voor inventarisatie

De volgende voorbeeldquery's worden uitgevoerd op de tabel PowerPlatformResources in Azure Resource Graph. Ze hebben betrekking op het tellen en distribueren van resources, velddetectie, resourcezoekacties en analyse van connectorgebruik. Zie Power Platform-inventaris voor een overzicht van Power Platform-inventaris. Zie voor de schema- en veldreferentie de referentie voor het Power Platform-inventarisschema.

Deze query’s uitvoeren

U kunt een van deze query's uitvoeren vanuit de Azure Resource Graph-interfaces. Zie de volgende snelstartgidsen voor stapsgewijze instructies:

Aantallen en distributie

Totaal aantal van alle bronnen

PowerPlatformResources
| count

Totaal aantal per resourcetype

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

Aantal per omgeving

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

Aantal per regio

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

Belangrijkste eigenaren per aantal items

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

Resourcezoekacties

Één agent zoeken in de tenant

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

Tip

U vindt de id van de agent in de Copilot Studio-URL bij het weergeven van de agent of in de kolom Naam van de inventaristabel.

Agents tellen per harnas

Toont een uitsplitsing van agents die met het GitHub Copilot-framework, het Copilot Chat-framework of het standaardframework zijn gemaakt.

U kunt het harnas van een agent zien in de kolom Harness in het Power Platform-beheercentrum, onder Beheren>Copilot Studio. Deze kolom is alleen een gebruikersinterfacekolom. Harness wordt nog niet geretourneerd als metagegevens van agents, dus deze query is afgeleid van de velden die de inventaris retourneert: properties.isCLIAgent, properties.modelen properties.createdIn. Wanneer het properties.harness veld beschikbaar komt, kunt u er rechtstreeks een query op uitvoeren. Zie Microsoft Copilot Studio Agent inventory schema voor de velddefinities.

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

Agents weergeven met hun harnas

Retourneert één rij per agent met het harnas, zodat u afzonderlijke agents kunt vinden en erop kunt reageren in plaats van ze alleen te tellen. Verwijder opmerkingen bij de regel where om alleen de agents te retourneren die met het GitHub Copilot-harnas zijn gebouwd.

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

Items die in de afgelopen 24 uur zijn gemaakt

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

Power Pages queries (preview)

Power Pages-query's gebruiken het resourcetype microsoft.powerpages/sites. Power Pages inventarisoverzicht is alleen beschikbaar voor globale beheerders, Power Platform-beheerders en Dynamics 365-beheerders.

Power Pages sites weergeven

Deze query retourneert een tenantbrede inventaris van Power Pages sites met hun omgeving, eigenaar en aanmaak- en wijzigingsdatums.

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

Power Pages-sites per omgeving tellen

Deze query laat zien welke omgevingen de meeste Power Pages sites bevatten.

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

Aantal Power Pages sites per eigenaar

Deze query toont eigenaren die zijn gekoppeld aan het grootste aantal Power Pages sites ter ondersteuning van eigendomsbeoordelingen en planning van bedrijfscontinuïteit.

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

Power Pages sites waarvoor anonieme toegang is ingeschakeld

Met deze query worden sites gevonden waarvan de metagegevens van de inventaris aangeven dat anonieme toegang is toegestaan.

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

Onlangs gemaakte Power Pages-sites

Deze query retourneert sites die in de afgelopen 30 dagen zijn gemaakt. Pas het interval zo nodig aan.

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

Power Pages sites met aangepaste domeinen

Deze query retourneert sites waarvan de metagegevens van de inventaris een aangepaste site-URL bevatten.

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 met andere Power Platform-resources

Deze query bevat een overzicht van het aantal resources per type en omgeving in Power Platform, inclusief Power Pages sites. Records zonder omgevings-id worden uitgesloten.

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

Connectorquery's

De volgende query's analyseren het gebruik van connectors voor de resourcetypen die worden gedekt door de connectorinventaris. Elke query werkt op de properties.powerPlatformConnectors array die wordt verzonden door canvas-apps, modelgestuurde apps, apps die zijn gebouwd in Copilot managed runtime, cloudstromen, agentstromen, werkstroomagentstromen, Copilot Studio-agents op de Standard-harness of GitHub Copilot-harness en agents die zijn gemaakt in Microsoft 365 Copilot Agent Builder. Apps die zijn gebouwd in de door Copilot beheerde runtime, gebruiken het microsoft.powerapps/apps-type met het microsoftApp-subtype. De query's sluiten App Builder-apps uit, die hetzelfde type gebruiken, maar geen connectorgegevens verzenden.

Belangrijkste connectors die worden gebruikt in Power Platform-resources

Geeft een lijst weer van de connectors die worden gebruikt door de meest afzonderlijke resources. Nuttig om te begrijpen welke connectoren het meest worden geadopteerd binnen de tenant.

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

Verdeling van het aantal connectors per resource

Hier ziet u hoeveel resources 0, 1, 2 of meer connectors gebruiken. Handig voor het opsporen van uitschieters in complexiteit.

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

Alle resources zoeken die gebruikmaken van een specifieke connector

Vervang shared_sharepointonline door de connector waarnaar u wilt zoeken. Deze query is handig voor impactanalyse wanneer een connector een bekend probleem heeft, wordt afgeschaft of nieuwe licenties vereist.

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

Connectorgebruik per omgeving

Geeft een lijst weer van elke connector die in elke omgeving wordt gebruikt, met het aantal afzonderlijke resources dat deze gebruikt. Deze lijst is handig voor het begrijpen van acceptatiepatronen en het informeren van DLP-beleidsbeslissingen.

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