Forum Discussion
Administration
- 1 year ago
WCJ - You will need use 3 APIs to get
1. Gets all workspaces2. 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"
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