SkillAgentSearch skills...

ReportingServicesTools

Reporting Services Powershell Tools

Install / Use

/learn @microsoft/ReportingServicesTools
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Build status ReportingServicesTools

Reporting Services PowerShell

SQL Server Reporting Services PowerShell utilities

Synopsis

This project contains PowerShell scripts that allow you to perform various operations with SQL Server Reporting Services and Power BI Report Server. In order to use the scripts included in this project successfully, please download/clone the entire project as there are dependencies between the scripts.

All of our scripts were written with the assumption that you will be executing them against Power BI Report Server (PBIRS). However, we understand this may not be the case for you. So for each script, you will see that we have provided a way for you to specify the SQL Server Reporting Services (SSRS) version instead of PBIRS. Sometimes the instance name is also required. If you do not provide one, we will assume that you want to execute this against the default instance.

Note: SSRS 2017 and later, as well as PBIRS do not support changing the instance names from 'SSRS' and 'PBIRS' respectively.

PowerShell Version

Please ensure you're running PowerShell version 3.0+

$PSVersionTable

Install

Invoke-Expression (Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/ReportingServicesTools/master/Install.ps1)

or

Invoke-Expression (Invoke-WebRequest https://aka.ms/rstools)

or

Install-Module -Name ReportingServicesTools

Note: Using Install-Module is the preferred installation method for most users.

List of commands

The following is a list of commands which are available for you to use once you follow the steps in the Installation

|Command|Description| |-------|-----------| |Backup-RsEncryptionKey|This command backs up the encryption key used by SQL Server Reporting Services to protect sensitive content.| |Connect-RsReportServer|This command connects to Reporting Services and sets default connection information.| |Copy-RsSubscription|This command adds a retrieved subscription to an existing report. For use with Get-RsSubscription.| |Export-RsSubscriptionXml|This command exports a collection of subscriptions to an XML file on disk.| |Get-RsFolderContent|This command lists all catalog items under a folder.| |Get-RsDataSource|This command lists information about the data source located at the specified path.| |Get-RsDeploymentConfig|This command retrieves a list of deployment configurations from a Reporting Services project file.| |Get-RsItemReference|This command gets the item references of a report or a dataset.| |Get-RsItemDataSource|This command fetches embedded data sources associated with a report.| |Get-RsCatalogItemRole|This command retrieves access to catalog items for users or groups.| |Get-RsRestCacheRefreshPlan|This function fetches a CacheRefreshPlan from a Power BI report.| |Get-RsRestCacheRefreshPlanHistory|This function fetches the history of CacheRefreshPlan(s) from a Power BI report.| |Get-RsRestDataSource|This function fetches the a datasource item from a folder.| |Get-RsRestFolderContent|This function fetches data sources related to a catalog item from the Report Server.| |Get-RsRestItem|This function fetches a catalog item from the Report Server using the REST API.| |Get-RsRestItemAccessPolicy|This function retrieves access policies to SQL Server Reporting Services Instance or Power BI Report Server Instance from users/groups.| |Get-RsRestItemDataModelParameters|This function fetches the Data Model Parameters related to a Catalog Item report from the Report Server. This is currently only applicable to Power BI Reports and only from ReportServer October/2020 or higher.| |Get-RsRestItemDataSource|This command fetches embedded data sources associated with a Paginated report or a Power BI report using the REST Endpoint.| |Get-RsSubscription|This command retrieves information about subscriptions for a report.| |Grant-RsRestItemAccessPolicy|This function grants access policies on the SQL Server Reporting Services Instance or Power BI Report Server Instance to the specified user/group, using the REST Endpoint.| |Grant-RsSystemRole|This command grants access to SQL Server Reporting Services to users or groups. Alias: Grant-AccessToRs| |Grant-RsCatalogItemRole|This script grants access to catalog items to users or groups. Alias: Grant-AccessOnCatalogItem| |Import-RsSubscriptionXml|This command imports a collection of subscriptions from an XML file on disk, typically created via Export-RsSubscriptionXml.| |Initialize-Rs|This command initializes Report Server post-installation. The database MUST be configured and URLs MUST be reserved prior to running this command.| |New-RsConfigurationSettingObject|This command creates a new RSConfigurationSettingObject which is used to interact with the WMI Provider.| |New-RsDataSource|This command creates/overwrites the data source to the specified path.| |New-RsFolder|This command creates a new folder in the specified path.| |New-RsRestCacheRefreshPlan|This function creates a new CacheRefreshPlan for the specified Power BI Report.| |New-RsRestCredentialsByUserObject|This command creates a CredentialsByUser object to be used by Set-RsRestItemDataSource command.| |New-RsRestCredentialsInServerObject|This command creates a CredentialsInServer object to be used by Set-RsRestItemDataSource command.| |New-RsRestFolder|This command creates a new folder in the specified path using the REST Endpoint.| |New-RsRestSession|This command creates a session object to be specified for all subsequent calls to the REST Endpoint.| |New-RsSubscription|This command adds a new subscription to an existing report.| |New-RsScheduleXml|This command creates an XML string definition of a subscription schedule. For use with the -Schedule parameter or New-RsSubscription.| |New-RsWebServiceProxy|This command creates a new Web Service Proxy which is used to interact with the SOAP Endpoint.| |Out-RsCatalogItem|This command downloads a catalog item.| |Out-RsFolderContent|This command downloads all catalog items in a folder.| |Out-RsRestFolderContent|This command downloads all catalog items under a folder using the REST Endpoint.| |Out-RsRestCatalogItem|This command downloads a catalog item using the REST Endpoint.| |Publish-RsProject|This command deploys a Reporting Services project to a Power BI Report Server.| |Register-PowerBI|This command registers Power BI information with SQL Server Reporting Services. Alias: Register-RSPowerBI| |Remove-RsCatalogItem|This command removes the catalog item located at the specified path.| |Remove-RsRestCatalogItem|This command removes catalog item located at the specified path using the REST Endpoint.| |Remove-RsRestFolder|This command removes folder located at the specified path using the REST Endpoint.| |Remove-RSSubscription|This command removes a subscription associated with a report.| |Restore-RsEncryptionKey|This command restores the encryption key to the SQL Server Reporting Services.| |Revoke-RsCatalogItemAccess|This command revokes access to a catalog item from users or groups. Alias: Revoke-AccessOnCatalogItem| |Revoke-RsRestItemAccessPolicy|This function revokes access to catalog items from users/groups, using the REST Endpoint.| |Revoke-RsSystemAccess|This command revokes access on SQL Server Reporting Services from users or groups. Alias: Revoke-AccessToRs| |Set-RsDatabase|This command configures the database used by SQL Server Reporting Services.| |Set-RsDatabaseCredentials|This command configures the credentials to use when connecting to the database used by SQL Server Reporting Services.| |Set-RsDataSet|This command links a report to a dataset. Alias: Set-RsDataSetReference| |Set-RsDataSource|This command updates information associated to a data source. Alias: Set-RsDataSourceReference| |Set-RsDataSourcePassword|This command sets the password associated with a data source.| |Set-RsEmailSettings|This command configures the SQL Server Reporting Services email settings to use basic authentication. Alias: Set-RsEmailSettingsAsBasicAuth, Set-RsEmailSettingsAsNoAuth, Set-RsEmailSettingsAsNTLMAuth| |Set-RsItemDataSource|This command updates embedded data sources associated with a report.| |Set-RsDataSourceReference|This command overrides the reference of a report or dataset to a shared data source.| |Set-RsRestItemDataModelParameters|This function updates data sources related to a catalog item from the Report Server.| |Set-RsRestItemDataSource|This command updates embedded data sources associated with a Paginated report or a Power BI Report using the REST endpoint.| |Set-RsSharedDataSource|This command links a report or a dataset to a data source.| |Set-RsUrlReservation|This command configures the SQL Server Reporting Services URLs.| |Set-PbiRsUrlReservation|This command configures the Power BI Report Server URLs.| |Set-RsSubscription|This command updates existing subscriptions piped from Get-RsSubscription.| |Start-RsRestCacheRefreshPlan|This function fetches the CacheRefreshPlan of a report from the Report Server and refreshes them using the REST API. Alternatively, when a report has multiple CacheRefreshPlans you can specify which CacheRefreshPlan to refresh by passing the Id of the CacheRefreshPlan to the -Id parameter.| |Test-RsRestItemDataSource|This function fetches the DataSources from a Paginated or Power BI report and tests them to see if the connection can be made.| |Write-RsCatalogItem|This command uploads a report, a dataset, or a data source using the SOAP Endpoint.| |Write-RsFolderContent|This uploads all reports, datasets, and data sources in a folder.| |Write-Rs

View on GitHub
GitHub Stars494
CategoryDevelopment
Updated6d ago
Forks220

Languages

PowerShell

Security Score

95/100

Audited on Mar 24, 2026

No findings