Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
I need to add permissions for users in the reports on Power BI Report Server. There are more than 1000 users that need to be added, and I have a list of users. However, due to IT restrictions, I cannot use AD. Currently, I can add them one by one in the web portal, but since there are so many users, adding them this way is very cumbersome. Therefore, I need to add them in bulk. Additionally, for Row-level security (RLS), it is also necessary to add user permissions in bulk. I think it's not possible to achieve this through the UI interface and would need to use API calls or programming methods to accomplish this.
After reviewing the following three official documents, it seems that there is no API information regarding this operation.
1. Modify or delete a role assignment (SSRS web portal) => Modify or delete an item role assignment
2. Row-level security (RLS) in Power BI Report Server => add-members-to-roles
3. Developer handbook overview, Power BI Report Server => API
https://learn.microsoft.com/en-us/power-bi/report-server/developer-handbook-overview#apis
Furthermore, I am very regretful to see that the Power BI Service API does not include an API for adding users to reports. Based on this description, it is very likely that Power BI Report Server also does not have this API
Re: Add users access on a specific report/Data in ... - Microsoft Fabric Community
Could you please let me know if the above requirements can be met? How can they be achieved?
Or, Is there a way to add 1,000 users in bulk to a group using PowerShell on Power BI Report Server? This way, I only need to add one group in the Portal.
hi, @Anonymous
There is no direct PowerShell cmdlet or API for batch adding users to reports or row-level security (RLS) roles in Power BI Reporting Server. However, you can use the ReportingServicesTools PowerShell module to automate the process of adding users to reports and RLS roles.
The ReportingServicesTools PowerShell module provides cmdlets that can be used to manage all aspects of the Power BI Reporting Server, including creating and modifying roles and assigning users to them.
To accomplish this task using PowerShell, you need to write custom scripts that utilize the ReportingServicesTools module. This will involve the following steps:
Import the ReportingServicesTools module >> Authenticate using the Power BI Reporting Server >> Retrieve existing roles for the report or RLS >> Create new roles or update existing roles as needed >> Add users to the appropriate roles.
The following is a sample PowerShell script that demonstrates how to add multiple users to an RLS role:
# Import the ReportingServicesTools module
Import-Module ReportingServicesTools
# Connect to the Power BI Report Server
$serverUrl = "https://myreportserver.contoso.com/reportserver"
$credential = Get-Credential
Connect-RsReportServer -ReportServerUrl $serverUrl -Credential $credential
# Retrieve the existing RLS roles for a report
$reportPath = "/path/to/report"
$roles = Get-RsRole -RsFolder $reportPath
# Find the existing RLS role you want to add users to
$roleName = "MyRLSRole"
$role = $roles | Where-Object { $_.Name -eq $roleName }
# Add users to the RLS role
$users = @("DOMAIN\user1", "DOMAIN\user2", "DOMAIN\user3")
foreach ($user in $users) {
Add-RsRoleUser -RsFolder $reportPath -RoleName $roleName -UserName $user
}
If I have answered your question, please mark my reply as solution and kudos to this post, thank you!
Your script looks amazing!!
However my ReportingServicesTools PowerShell module doesn't recognize the functions that you used :
Get-RsRole
Add-RsRoleUser
Could you help please?
due to IT restrictions, I cannot use AD.
Please explain. They won't let you use distribution lists?
Yes, for AD, a special application needs to be made to the headquarters. The approval process is cumbersome, so we have abandoned the AD approach
User | Count |
---|---|
11 | |
3 | |
3 | |
2 | |
2 |