Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
WCJ
New Member

Administration

Is it possible to get a list of all PowerBI reports published, to which workspace they are published to, who has permission to report?

 

We are moving reports to PowerBI and in time as quantity grows, administration of same is critical. At a glance I need to see list of all reports ideally what workspaces they are published to and who has access.

 

Is there a means of reporting this?

 

Thanks.

1 ACCEPTED SOLUTION
arvindsingh802
Super User
Super User

@WCJ  - You will need use 3 APIs to get 
1. Gets all workspaces

2. Gets reports in each workspace - Loop for each worksapce above

3.  Fetches direct report-level permissions - Loop for each report above
If you have Power BI Admin access then can use below powershell script

# Connect to Power BI Service

Connect-PowerBIServiceAccount

# Get all workspaces

$workspaces = Get-PowerBIWorkspace -Scope Organization

# Initialize an array to store report details

$reportDetails = @()

foreach ($workspace in $workspaces) {

    Write-Host "Processing Workspace: $($workspace.Name)"

    # Get reports in the workspace

    $reports = Get-PowerBIReport -WorkspaceId $workspace.Id

    foreach ($report in $reports) {

        Write-Host "Processing Report: $($report.Name)"

        # Get users with workspace-level permissions

        $workspacePermissions = Get-PowerBIWorkspaceUser -Id $workspace.Id

        foreach ($permission in $workspacePermissions) {

            $reportDetails += [PSCustomObject]@{

                ReportName     = $report.Name

                ReportId       = $report.Id

                WorkspaceName  = $workspace.Name

                WorkspaceId    = $workspace.Id

                User           = $permission.DisplayName

                UserEmail      = $permission.EmailAddress

                AccessScope    = "Workspace Level"

                AccessRight    = $permission.AccessRight

            }

        }

 

        # Get users with direct report-level permissions

        $reportPermissions = Get-PowerBIReportUser -WorkspaceId $workspace.Id -ReportId $report.Id

        foreach ($permission in $reportPermissions) {

            $reportDetails += [PSCustomObject]@{

                ReportName     = $report.Name

                ReportId       = $report.Id

                WorkspaceName  = $workspace.Name

                WorkspaceId    = $workspace.Id

                User           = $permission.DisplayName

                UserEmail      = $permission.EmailAddress

                AccessScope    = "Report Level"

                AccessRight    = $permission.AccessRight

            }

        }

    }

}

# Export results to CSV

$reportDetails | Export-Csv -Path "PowerBI_Reports_Permissions.csv" -NoTypeInformation

Write-Host "Report details exported to PowerBI_Reports_Permissions.csv"

 


If this post helps, then please consider Accept it as the solution, Appreciate your Kudos!!
Proud to be a Super User!!

View solution in original post

10 REPLIES 10
v-ssriganesh
Community Support
Community Support

Hi @WCJ,
I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions. If my response has addressed your query, please accept it as a solution and give a 'Kudos' so other members can easily find it.
Thank you.

v-ssriganesh
Community Support
Community Support

Hi @WCJ,

May I ask if you have resolved this issue? If so, please mark the helpful reply and accept it as the solution. This will be helpful for other community members who have similar problems to solve it faster.

Thank you.

arvindsingh802
Super User
Super User

@WCJ  - You will need use 3 APIs to get 
1. Gets all workspaces

2. Gets reports in each workspace - Loop for each worksapce above

3.  Fetches direct report-level permissions - Loop for each report above
If you have Power BI Admin access then can use below powershell script

# Connect to Power BI Service

Connect-PowerBIServiceAccount

# Get all workspaces

$workspaces = Get-PowerBIWorkspace -Scope Organization

# Initialize an array to store report details

$reportDetails = @()

foreach ($workspace in $workspaces) {

    Write-Host "Processing Workspace: $($workspace.Name)"

    # Get reports in the workspace

    $reports = Get-PowerBIReport -WorkspaceId $workspace.Id

    foreach ($report in $reports) {

        Write-Host "Processing Report: $($report.Name)"

        # Get users with workspace-level permissions

        $workspacePermissions = Get-PowerBIWorkspaceUser -Id $workspace.Id

        foreach ($permission in $workspacePermissions) {

            $reportDetails += [PSCustomObject]@{

                ReportName     = $report.Name

                ReportId       = $report.Id

                WorkspaceName  = $workspace.Name

                WorkspaceId    = $workspace.Id

                User           = $permission.DisplayName

                UserEmail      = $permission.EmailAddress

                AccessScope    = "Workspace Level"

                AccessRight    = $permission.AccessRight

            }

        }

 

        # Get users with direct report-level permissions

        $reportPermissions = Get-PowerBIReportUser -WorkspaceId $workspace.Id -ReportId $report.Id

        foreach ($permission in $reportPermissions) {

            $reportDetails += [PSCustomObject]@{

                ReportName     = $report.Name

                ReportId       = $report.Id

                WorkspaceName  = $workspace.Name

                WorkspaceId    = $workspace.Id

                User           = $permission.DisplayName

                UserEmail      = $permission.EmailAddress

                AccessScope    = "Report Level"

                AccessRight    = $permission.AccessRight

            }

        }

    }

}

# Export results to CSV

$reportDetails | Export-Csv -Path "PowerBI_Reports_Permissions.csv" -NoTypeInformation

Write-Host "Report details exported to PowerBI_Reports_Permissions.csv"

 


If this post helps, then please consider Accept it as the solution, Appreciate your Kudos!!
Proud to be a Super User!!

Thanks for that much appreciated. I will update this post when I've tried the API's.

Wikkleyn_81
Super User
Super User

Hi @WCJ The best way to do this is using the Power BI REST APIs and extract the data on a daily basis. We make use of Fabric Notebooks to load the data to a lakehouse. Using the REST APIs and Semantic Link. 

 

Here are some usefull links on how to extract the data using PowerShell.

 

Power BI REST APIs
https://learn.microsoft.com/en-us/rest/api/power-bi/ 

 

Power BI Workspace Members Script
https://gist.github.com/jcallaghan/86b391716cdec5b39926e196b28a1496 

 

PowerShell script to list Power BI workspaces and export to Excel
https://gist.github.com/anelliaf/7a43c7f5105d235ff9cdd969498ced7d 

 

Retrieving list of users for all workspaces in your PowerBI tenant using Powershell
https://tomaztsql.wordpress.com/2022/09/03/retrieving-list-of-users-for-all-workspaces-in-your-power... 

v-ssriganesh
Community Support
Community Support

Hi @WCJ,
Thank you for posting your query in the Microsoft Fabric Community Forum.

The answer provided by @Akash_Varuna was indeed correct. Additionally, I am including some more points to make it easier for you.

Yes, it is possible to obtain a list of all Power BI reports, their associated workspaces, and user permissions. Please follow the process below:

If you are a Power BI Admin, you can access the Power BI Admin Portal to retrieve details on workspaces and user permissions:

  • Navigate to Power BI Service → Click on Settings (Gear Icon) → Select Admin Portal.
  • Under Workspaces, you can view a list of all workspaces, their details, and the members assigned to each.
  • You can export this data to Excel for offline reference.

For your reference: What is the Microsoft Fabric admin portal? - Microsoft Fabric | Microsoft Learn

If this helps, then please Accept it as a solution and dropping a "Kudos" so other members can find it more easily.
Thank you

Thanks for the info. I can :

  • Navigate to Power BI Service → Click on Settings (Gear Icon) → Select Admin Portal.
  • Under Workspaces, you can view a list of all workspaces, their details, and the members assigned to each.

But can't see option to :

  • You can export this data to Excel for offline reference.

 

It may be I don't have all the permission required but could you send snaphot or explain where export option is?

 

Thanks.

Hi @WCJ,
Thank you for your question.

  • After Navigating to Power BI Service → Click on the Settings → Select Admin Portal. Under the Workspaces section, you will see a list of all workspaces along with their details. In this view, you should also see an Export button at the top highlighted in the attached below screenshot.
    vssriganesh_0-1740073524208.png

     

  • Clicking Export will allow you to download the workspace data to Excel for offline reference.

Important Note on Permissions:

The Export option is only visible if you have the appropriate permissions as a Power BI Admin (or Fabric Admin). If you do not see the Export button, it is likely that you do not have admin rights. You may need to check with your organization’s Power BI administrator to confirm your access level.

I trust this information proves useful. If it does, kindly Accept it as a solution and give it a 'Kudos' to help others locate it easily.
Thank you.

Hi @WCJ,
I hope this information is helpful. Please let me know if you have any further questions or if you'd like to discuss this further. If this answers your question, please Accept it as a solution and give it a 'Kudos' so others can find it easily.
Thank you.

Akash_Varuna
Super User
Super User

Hi @WCJ You could do this on Power BI Admin Portal

  • Use the Workspaces tab to view and manage reports across all workspaces.
  • For permissions, check the Users section within each workspace to see access details.
    You could also check in Power BI Audit logs and API
    If this post helped please do give a kudos and accept this as a solution
    Thanks In Advance

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.