Grant or Revoke Permission on Power BI Report Server

I have created two new PowerShell functions for Granting or Revoking permission on items in the Power BI Report Catalog. These two will be the probably be the last two functions I create for Power BI Report Server for a little while. I’ll be working on SSAS cmdlets for the next week or two.


I have recently created 4 new functions for working with Scheduled Refresh Plans (mostly covered here). As well as two more functions, one for Testing your DataSource connection, the other for inspecting the permissions for an item in the Report Catalog (mostly covered here). So, with these two, that makes 8 new functions this year. All of these functions have been built against the REST API, which is necessary for making them work in PowerShell 7.

Giant Thanks to Doug Finke!

I could not have created these two new functions ( Grant-RsRestItemAccessPolicy and Revoke-RsRestItemAccessPolicy ), without the help of Doug Finke ( b | t ). Doug Took a few minutes out of his busy schedule to teach me how to add & subtract (INSERT & DELETE) objects, and then convert them to the proper JSON payload. It was kind of crazy how fast he was able to create the working code.

Pester Tests are Important

Building these two new commands was also a lot faster because I didn’t really have to create new Pester Tests for them, per se. Instead, I took the existing Pester test for the old SOAP commands, created a copy, and basically sapped out the names. This was kind of a design goal too. I wanted to be able to prove that the two new commands could do the exact same operations that the two old commands could. How could I possibly prove this better than duplicating the existing Pester test?

Available Today

You can now get all of these command from the ReportingServicesTools module in the PowerShell Gallery.

Update-Module ReportingServicesTools

If you want to see for yourself the new commands that have been added, just run the code below (assuming you also downloaded the old version of the module at some point):

Import-Module ReportingServicesTools RequiredVersion
$58 = Get-Command Module ReportingServicesTools CommandType Function
Remove-Module ReportingServicesTools
Import-Module ReportingServicesTools RequiredVersion
$64 = Get-Command Module ReportingServicesTools CommandType Function
Compare-Object ReferenceObject $58 DifferenceObject $64 Property Name PassThru

That’s it for now. If you happen to have any requests to improve the PowerShell cmdlets for SSAS, please reach out to me with your suggestion. I’m already working on making those better.

Please Share This:

You may also like:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Subcribe to Blog Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

What I'm Saying on Twitter

Subscribe via feedburner