There are several ways to get an Inventory status of your Power Platform Environments. There is the Center of Excellence Starter Kit, you can build your own using the Admin connectors, or, you can use the PowerShell admin modules as I have done here.

Using the PowerShell admin modules for Power Platform I have written a PowerShell script to download data regarding Power Platform Environments, Power Apps Canvas Apps and Power Automate Flows. The downloaded data is saved as csv files.

In Excel, I have created a data model based on the downloaded data. This data model is then used to create the above Dashboard in the Excel workbook.

All that is required in order to update the Dashboard is run the PowerPlatformInventory.ps1 PowerShell script in an elevated session (you must have Administrative rights to install the required admin modules)

The script will ask you to log in twice, once for Power Platform and once for Azure AD (to get the user information as this is not yet available via the Flow Admin PowerShell Module)

The PowerPlatformInventory.ps1 PowerShell script:

Write-Host "Updating required PowerShell modules"

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -AllowClobber -Force -ErrorAction Stop
$AdminModuleVersion = Get-Module -Name Microsoft.PowerApps.Administration.PowerShell | select Version
Write-Host "Microsoft.PowerApps.Administration.PowerShell is version" $AdminModuleVersion.Version  -ForegroundColor Green

Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber -Force -ErrorAction Stop
$PowerAppsModuleVersion = Get-Module -Name Microsoft.PowerApps.PowerShell | select Version
Write-Host "Microsoft.PowerApps.PowerShell is version" $PowerAppsModuleVersion.Version  -ForegroundColor Green

Add-PowerAppsAccount
Write-Host "Connected to Power Platform" -ForegroundColor Green

Connect-AzureAD
Write-Host "Connected to Azure AD" -ForegroundColor Green

#Get Environment Inventory
Write-Host "`n"
Write-Host "Collecting Environment Inventory"
$Array = @()
ForEach($Environment in Get-PowerAppEnvironment) {
    $EnvironmentObject = New-Object PSObject -Property @{
        Environment = $Environment.Displayname
        EnvironmentOwner = $Environment.CreatedBy
        EnvironmentCreatedTime = $Environment.CreatedTime
        Location = $Environment.Location
        IsDefault = $Environment.IsDefault
    }
    $Array += $EnvironmentObject
}
$Array | Export-Csv $PSScriptRoot\Data\Environments.csv
Write-Host "Environment Inventory collection complete." $Array.Count "Environments collected"-ForegroundColor Green

#Get Power Apps Inventory
Write-Host "`n"
Write-Host "Collecting Power Apps Inventory"
$Array = @()
ForEach($Environment in Get-PowerAppEnvironment) {
    ForEach($PowerApp in Get-AdminPowerApp -EnvironmentName $Environment.EnvironmentName){
        $PowerAppObject = New-Object PSObject -Property @{
            AppName = $PowerApp.AppName
            DisplayName = $PowerApp.DisplayName
            Environment = $Environment.Displayname
            EnvironmentCreatedTime = $Environment.CreatedTime
            Location = $Environment.Location
            IsDefault = $Environment.IsDefault
            Owner = $PowerApp.Owner.displayName
            OwnerEmail = $PowerApp.Owner.email
            OwnerUPN = $PowerApp.Owner.userPrincipalName
        }
        $Array += $PowerAppObject
    }
}
$Array | Export-Csv $PSScriptRoot\Data\PowerAppInventory.csv
Write-Host "Power Apps Inventory collection complete." $Array.Count "Power Apps collected"-ForegroundColor Green

#Get Power Automate Inventory
Write-Host "`n"
Write-Host "Collecting Power Automate Inventory"
$Array = @()
ForEach($Environment in Get-FlowEnvironment) {
    ForEach($Flow in Get-AdminFlow -EnvironmentName $Environment.EnvironmentName){
        $UserObject = Get-AzureADUser -ObjectId $Flow.CreatedBy.objectId 
        $FlowObject = New-Object PSObject -Property @{
            AppName = $Flow.FlowName
            DisplayName = $Flow.DisplayName
            Environment = $Environment.Displayname
            EnvironmentCreatedTime = $Environment.CreatedTime
            Location = $Environment.Location
            IsDefault = $Environment.IsDefault
            Owner = $UserObject | select -ExpandProperty DisplayName
            OwnerEmail = $UserObject | select -ExpandProperty UserPrincipalName 
            OwnerUPN = $UserObject | select -ExpandProperty UserPrincipalName 
        }
        $Array += $FlowObject
    }
}
$Array | Export-Csv $PSScriptRoot\Data\FlowInventory.csv

Write-Host "Power Automate Inventory collection complete." $Array.Count "Flows collected"-ForegroundColor Green
Write-Host "`n"

The complete solution is available on github: https://github.com/jenschristianschroder/Power-Platform-Inventory-Excel-Book