Download Rsscripter Tool

Posted on  by 

  1. Download The Reporting Services Scripter Tool
  2. Download Rsscripter Tool
  3. Rsscripter 2016
  4. Rsscripter Sql 2016

SQL Server Reporting Services PowerShell utilities

Synopsis

Aug 08, 2013  The link to download the RSScripter tool is not valid any more. Unfortunately, the RSScripter tool is seriously outdated. It only supports SSRS until 2008. 2008R2 and 2012 are not supported and that's most likely why. Migrating SQL Reporting Services to a new. To use the tool simply double click the RSSCripter.exe. Download the Reporting Services Scripter tool here. A tool that migrates reports and other artifacts from one report server to another report server. It can also be used as a backup and restore tool for Reporting Services. Download Rsscripter Tool. Migrating SQL Reporting Services to a new server can be an intensive job in case you have to download and import all the.

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

Migrating SQL Reporting Services to a new. To use the tool simply double click the RSSCripter.exe. Download the Reporting Services Scripter tool here.

All of our scripts were written with the assumption that you will be executing them against SQL Server 2016 Reporting Services default instance (i.e. mssqlserver). 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 name and/or version of your SQL Server Reporting Services instance name. Sometimes the version of your SQL Server instance is also required. If you do not provide one, we will assume that you want to execute this against the default instance.

PowerShell Version

Please ensure you're running PowerShell version 3.0+

Install

or

or

List of commands

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

CommandDescription
Backup-RsEncryptionKeyThis command backs up the encryption key used by SQL Server Reporting Services to protect sensitive content.
Connect-RsReportServerConnects to Reporting Services and sets default connection information
Copy-RsSubscriptionThis command adds a retrieved subscription to an existing report. For use with Get-RsSubscription.
Export-RsSubscriptionXmlThis command exports a collection of subscriptions to an XML file on disk.
Get-RsFolderContentThis command lists all catalog items under a folder.
Get-RsDataSourceThis command lists information about data source located at the specified path.
Get-RsItemReferenceThis command gets the item references of a report or a dataset.
Get-RsItemDataSourceThis command fetches embedded data sources associated to a report.
Get-RsCatalogItemRoleThis command retrieves access on catalog items for users or groups.
Get-RsRestItemDataSourceThis command fetches embedded data sources associated to a Paginated report or a Power BI report using the REST Endpoint.
Get-RsSubscriptionThis command retrieves information about subscriptions for a report.
Grant-RsSystemRoleThis command grants access to SQL Server Reporting Services to users or groups. Alias: Grant-AccessToRs
Grant-RsCatalogItemRoleThis script grants access to catalog items to users or groups. Alias: Grant-AccessOnCatalogItem
Import-RsSubscriptionXmlThis command imports a collection of subscriptions from an XML file on disk, typically created via Export-RsSubscriptionXml.
Initialize-RsThis command initializes Report Server post installation. The database MUST be configured and URLs MUST be reserved prior to running this command.
New-RsConfigurationSettingObjectThis command creates a new RSConfigurationSettingObject which is used to interact with the WMI Provider.
New-RsDataSourceThis command creates/overwrites data source to the specified path.
New-RsFolderThis command creates a new folder in the specified path.
New-RsRestCredentialsByUserObjectThis command creates a CredentialsByUser object to be used by Set-RsRestItemDataSource command.
New-RsRestCredentialsInServerObjectThis command creates a CredentialsInServer object to be used by Set-RsRestItemDataSource command.
New-RsRestFolderThis command creates a new folder in the specified path using the REST Endpoint.
New-RsRestSessionThis command creates a session object to be specified for all subsequent calls to the REST Endpoint.
New-RsSubscriptionThis command adds a new subscription to an existing report.
New-RsScheduleXmlThis command creates an XML string definition of a subscription schedule. For use with the -Schedule parameter or New-RsSubscription.
New-RsWebServiceProxyThis command creates a new Web Service Proxy which is used to interact with the SOAP Endpoint.
Out-RsCatalogItemThis command downloads a catalog item.
Out-RsFolderContentThis command all catalog items in folder.
Out-RsRestFolderContentThis command downloads all catalog items under a folder using the REST Endpoint.
Out-RsRestCatalogItemThis command downloads a catalog item using the REST Endpoint.
Register-PowerBIThis command registers Power BI information with SQL Server Reporting Services. Alias: Register-RSPowerBI
Remove-RsCatalogItemThis command removes catalog item located at the specified path.
Remove-RsRestCatalogItemThis command removes catalog item located at the specified path using the REST Endpoint.
Remove-RsRestFolderThis command removes folder located at the specified path using the REST Endpoint.
Remove-RSSubscriptionThis command removes a subscription associated with a report.
Restore-RsEncryptionKeyThis command restores encryption key on to the SQL Server Reporting Services.
Revoke-RsCatalogItemAccessThis command revokes access on catalog item from users or groups. Alias: Revoke-AccessOnCatalogItem
Revoke-RsSystemAccessThis command revokes access on SQL Server Reporting Services from users or groups. Alias: Revoke-AccessToRs
Set-RsDatabaseThis command configures the database used by SQL Server Reporting Services.
Set-RsDatabaseCredentialsThis command configures the credentials to use when connecting to the database used by SQL Server Reporting Services.
Set-RsDataSetThis command links a report to a dataset. Alias: Set-RsDataSetReference
Set-RsDataSourceThis command updates information associated to a data source. Alias: Set-RsDataSourceReference
Set-RsDataSourcePasswordThis command sets the password associated with a data source.
Set-RsEmailSettingsThis command configures the SQL Server Reporting Services email settings to use basic authentication. Alias: Set-RsEmailSettingsAsBasicAuth, Set-RsEmailSettingsAsNoAuth, Set-RsEmailSettingsAsNTLMAuth
Set-RsItemDataSourceThis command updates embedded data source associated to a report.
Set-RsRestItemDataSourceThis command updates embedded data sources associated to a Paginated report or a Power BI Report using the REST endpoint.
Set-RsSharedDataSourceThis command links a report or a dataset to a data source.
Set-RsUrlReservationThis command configures the SQL Server Reporting Services URLs.
Set-PbiRsUrlReservationThis command configures the Power BI Report Server URLs.
Set-RsSubscriptionThis command updates existing subscriptions piped from Get-RsSubscription
Write-RsCatalogItemThis command uploads a report, a dataset or a data source using the SOAP Endpoint..
Write-RsFolderContentThis uploads all reports, datasets and data sources in a folder.
Write-RsRestCatalogItemThis command uploads a report, a dataset or a mobile report using the REST Endpoint.
Write-RsRestFolderContentThis uploads all reports, datasets, data sources, mobile reports and Power BI reports in a folder using the REST Endpoint.

SQL Server Versions

Some of the commands listed above allow you to optionally specify the version of your SQL Server Reporting Services instance. The following is a list of versions associated to each SQL Server Reporting Services release.

SQL Server ReleaseVersion
SQL Server 201211
SQL Server 201412
SQL Server 201613
SQL Server 201714

Motivation

The motivation behind this project was to help users perform SQL Server Reporting Services operations via the command line.

API Reference

All of the APIs used by this project are publicly available. There are 2 types of APIs used in this repository: SOAP and WMI. You can find more details about the SOAP API at https://msdn.microsoft.com/en-us/library/ms154052.aspx and the WMI API at https://msdn.microsoft.com/en-us/library/ms152836.aspx. In general, you will use SOAP API for operations you would perform using Report Server and Web Portal whereas you will use WMI API for operations you would perform using Reporting Services Configuration Manager.

Local testing and development

To verify the versions installed

After you clone the repo you can make local changes and install them in your local machine with

For debugging you can set the verbose logging with $VerbosePreference = 'continue'

Test

For running tests locally you need a local default instance of SQL Server Reporting Services and Pester

To install Pester execute

To excute the tests run (this will execute the CatalogItems test only which doesn't change the local Reporting Services Installation)

Download the reporting services scripter tool

Style Guidelines

If you have any scripts you would like to share, we request you to please format your scripts according to the guidelines created by the team behind the DSC Resource Kit. (https://github.com/PowerShell/DscResources/blob/master/StyleGuidelines.md) and the PowerShell verbs https://msdn.microsoft.com/en-us/library/ms714428(v=vs.85).aspx

Contributions

For contributions please provide the minimum possible increment per Pull Request so it can reviewed and merged quickly.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

-->

APPLIES TO: SQL Server Reporting Services (2008 R2 and later) SharePoint Power BI Report Server

Download The Reporting Services Scripter Tool

This article includes and describes a sample Reporting Services RSS script that copies content items and settings from one SQL Server Reporting Services report server to another report server, using the RS.exe utility. RS.exe is installed with Reporting Services, both native and SharePoint mode. The script copies Reporting Services items, for example reports and subscriptions, from server to another server. The script supports both SharePoint mode and Native mode report servers.

To Download the ssrs_migration.rss Script

Download the script from the GitHub site Reporting Services RS.exe migration script to a local folder. For more information, see the section How to use the script in this article.

Supported Scenarios

Rsscripter 2016

The script supports both SharePoint mode and Native mode report servers. The script supports the report server versions SQL Server 2008 R2 and later, and Power BI Report Server.

The script can be used to copy content between report servers of the same mode or different modes. For example, you can run the script to copy content from a SQL Server 2008 R2 native mode report server to a SQL Server 2012 SP1 (11.0.3x) SharePoint mode report server. You can run the script from any server where RS.exe is installed. For example, in the following deployment, you can:

  • Run RS.exe and the script ON Server A.

  • To copy content FROM Server B

  • TO Server C

Server nameReport Server Mode
Server ANative
Server BSharePoint
Server CSharePoint

For more information on the RS.exe utility, see RS.exe Utility (SSRS).

Items and resources the script migrates

The script won't write over existing content items of the same name. If the script detects items with the same name on the destination server that are on the source server, the individual items will result in a 'failure' message and the script will continue. The following table lists the types of content and resources the script can migrate to target report server modes.

ItemMigratedSharePointDescription
PasswordsNoNoPasswords are NOT migrated. After content items are migrated, update the credential information on the destination server. For example, data sources with stored credentials.
My ReportsNoNoThe Native mode 'My Reports' feature is based on individual user sign-ins therefore the scripting service does not have access to content in 'My Reports' folders for users other than the -u parameter used to run the rss script. Also, 'My Reports' isn't a feature of Reporting Services SharePoint mode and items in the folders cannot be copied to a SharePoint environment. Therefore, the script does not copy report items that are in the 'My Reports' folders on a source native mode report server
To migrate the content in 'My Reports' folders with this script, complete the following steps:
1. Create new folder(s) in the web portal. Optionally, you can create folders or subfolders for each user.
2. Sign in as one of the users with 'My Reports' content.
3. In the web portal, select the My Reports folder.
4. Select the Details view for the folder.
5. Select each report that you want to copy.
6. Select Move in the web portal toolbar.
7. Select the desired destination folder.
8. Repeat steps 2-7 for each user.
9. Run the script.
HistoryNoNo
History settingsYesYesThe history settings are migrated however the history details are NOT migrated.
SchedulesYesYesTo migrate schedules, it is required that SQL Server Agent is running on the target server. If SQL Server Agent isn't running on the target, you will see an error message similar to this one:
Migrating schedules: 1 items found. Migrating schedule: theMondaySchedule ... FAILURE: The SQL Agent service isn't running. This operation requires the SQL Agent service. ---> Microsoft.ReportingServices.Diagnostics.Utilities.SchedulerNotResponding Exception: The SQL Agent service isn't running. This operation requires the SQL Agent service.
Roles and system policiesYesYesBy default the script won't copy custom permission schema between servers. The default behavior is the items will be copied to the destination server with the 'inherit parent permissions' flag set to TRUE. If you want the script to copy permissions for individual items, use the SECURITY switch.
If the source and target servers are not the same report server mode, for example from native mode to SharePoint mode, and you use the SECURITY switch, the script will attempt to map default roles and groups based on the comparison in the article Compare Roles and Tasks in Reporting Services to SharePoint Groups and Permissions. Custom roles and groups aren't copied to the destination server.
When the script is copying between servers that are the same mode, and you use the SECURITY switch, the script will create new roles (native mode) or groups (SharePoint mode) on the destination server.
If a role already exists on the destination server, the script will create a 'Failure' message similar to the following, and continue migrating other items. After the script completes, verify that the roles on the destination server are configured to meet your needs. the Migrating roles: 8 items found.
Migrating role: Browser ... FAILURE: The role 'Browser' already exists and cannot be created. ---> Microsoft.ReportingServices.Diagnostics.Utilities.RoleAlreadyExistsException: The role 'Browser' already exists and cannot be created.
For more information, see Grant User Access to a Report Server
Note: if a user that exists on the source server does not exist on the destination server, the script cannot apply role assignments on the destination server, the script cannot apply role assignments, even if the SECURITY switch is used.
Shared data sourceYesYesThe script won't overwrite existing items on the target server. If an item on the target server already exists with the same name, you will see an error message similar to this one:
Migrating DataSource: /Data Sources/Aworks2012_oltp ... FAILURE:The item '/Data Sources/Aworks2012_oltp' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Data Source s/Aworks2012_oltp' already exists.
Credentials are NOT copied over as part of the data source. After content items are migrated, update the credential information on the destination server.
Shared datasetYesYes
FolderYesYesThe script won't overwrite existing items on the target server. If an item on the target server already exists with the same name, you will see an error message similar to this one:
Migrating Folder: /Reports ... FAILURE: The item '/Reports' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports' already exists.
ReportYesYesThe script won't overwrite existing items on the target server. If an item on the target server already exists with the same name, you will see an error message similar to this one:
Migrating Report: /Reports/testThe item '/Reports/test' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports/test' already exists.
ParametersYesYes
SubscriptionsYesYes
History SettingsYesYesThe history settings are migrated however the history details are NOT migrated.
Processing optionsYesYes
Cache refresh optionsYesYesDependent settings are migrated as part of a catalog item. The following is the sample out of the script as it migrates a report (.rdl) and related settings such as cache refresh options:
- Migrating parameters for report TitleOnly.rdl 0 items found.
- Migrating subscriptions for report TitleOnly.rdl: 1 items found.
- Migrating subscription Save in serverpublicsavedreports as TitleOnly ... SUCCESS
- Migrating history settings for report TitleOnly.rdl ... SUCCESS
- Migrating processing options for report TitleOnly.rdl ... 0 items found.
- Migrating cache refresh options for report TitleOnly.rdl ... SUCCESS
- Migrating cache refresh plans for report TitleOnly.rdl: 1 items found.
- Migrating cache refresh plan titleonly_refresh735amM2F ... SUCCESS
Cache refresh plansYesYes
ImagesYesYes
Report partsYesYes

Required permissions

The permissions required to read or write items and resources isn't the same for all of the methods used in the script. The following table summarizes the methods used for each item or resource and links to related content. Navigate to the individual article to see the required permissions. For example the ListChildren method topic notes the required permissions of:

  • Native Mode Required Permissions: ReadProperties on Item

  • SharePoint Mode Required Permissions: ViewListItems

Item or ResourceSourceTarget
Catalog itemsListChildren
GetProperties
GetItemDataSources
GetItemReferences
GetDataSourceContents
GetItemLink
CreateCatalogItem
SetItemDataSources
GetItemReferences
CreateDataSource
CreateLinkedItem
CreateFolder
RoleListRoles
GetRoleProperties
CreateRole
System PolicyGetSystemPoliciesSetSystemPolicies
ScheduleListSchedulesCreateSchedule
SubscriptionListSubscriptions
GetSubscriptionProperties
GetDataDrivenSubscriptionProperties
CreateSubscription
CreateDataDrivenSubscription
Cache refresh planListCacheRefreshPlans
GetCacheRefreshPlanProperties
CreateCacheRefreshPlan
ParametersGetItemParametersSetItemParameters
Execution optionsGetExecutionOptionsSetExecutionOptions
Cache optionsGetCacheOptionsSetCacheOptions
History settingsGetItemHistoryOptionsSetItemHistoryOptions
Item PolicyGetPoliciesSetPolicies

For more information, see Compare Roles and Tasks in Reporting Services to SharePoint Groups and Permissions.

How to use the script

  1. Download the script file to a local folder, for example c:rssssrs_migration.rss.

  2. Open a command prompt with administrative privileges.

  3. Navigate to the folder containing the ssrs_migration.rss file.

  4. Run the command with the parameters appropriate for your scenario.

Download rsscripter tool

Basic Example, native mode report server to native mode report server:

The following example migrates content from the native mode Sourceserver to the native mode Targetserver.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s https://SourceServer/ReportServer -u DomainUser -p password -v ts='https://TargetServer/reportserver' -v tu='DomainUserser' -v tp='password'

Usage notes:

  • The script runs in two steps.

    The first step is an audit, to return a list of items that will be migrated and the second step is the migration process.

    You can cancel the script after step one if you only want to see the possible migration list or you want to modify the parameters. Dependent settings aren't listed in step one. For example, the cache options of a report aren't listed but the report itself is.

    Tip

    If you want to just audit a single server, use the same server for source and destination and cancel after step 1.

    A good use of the step 1 audit information is to review existing roles on both the source and target Native mode server. The following is an example of the step one audit list. Notice the list includes a 'roles' section because the switch-v security='True' was used:

    • Retrieve and report the list of items that will be migrated. You can cancel the script after step 1 if you do not want to start the actual migration.

      Retrieving roles:

      Role: Browser

      Role: Content Manager

      Role: Model Item Browser

      Retrieve and report the list of items that will be migrated. You can cancel the script after step 1 if you do not want to start the actual migration.

      Retrieving roles:

      Role: Browser

      Role: Content Manager

      Role: CustomRole

      Role: Model Item Browser

      Role: My Reports

      Role: Publisher

      Role: Report Builder

      Role: System Administrator

      Role: System User

      Retrieving system policies:

      Retrieving system policies:

      System policy: BUILTINAdministrators

      System policy: domainuser1

      System policy: domainueser2

      Retrieving schedules:

      Schedule: theMondaySchedule

      Retrieving catalog items. This may take a while.

      Folder: /Data Sources

      DataSource: /Data Sources/Aworks2012_oltp

      Folder: /images

      Resource: /images/Boba Fett.png

      Resource: /images/R2-D2.png

      Folder: /Reports

      Report: /Reports/products

      Report: /Reports/test

      Report: /Reports/TitleOnly

  • The SOURCE_URL and TARGET_URL must be valid report server URLs that point to the source and target Reporting Services report server. In native mode, a report server URL looks like this URL:

    • https://servername/reportserver

    In SharePoint mode the URL looks like this URL:

    • https://servername/_vti_bin/reportserver
  • The virtual folder structure presented to the user in SharePoint might be different than the underlying one. Open https://servername/_vti_bin/reportserver or https://servername/sites/site_name/_vti_bin/reportserver in a browser to see the non-virtual folder structure. This is helpful for setting source folder and target folder to something other than '/', for a server in SharePoint mode.

  • Passwords aren't migrated, and must be re-entered, for example data sources with stored credentials.

Parameter description

ParameterDescriptionRequired
-s Source_URLURL of the source report serverYes
-u Domainpassword -p passwordCredentials for source server.OPTIONAL, default credentials are used if missing
-v st='SITE'OPTIONAL. This parameter is only used for SharePoint mode report servers.
- v f='SOURCEFOLDER'Set to '/' for migrating everything, or to something like '/folder/subfolder' for partial migration. Everything within this folder will be copiedOPTIONAL, default is '/'.
-v ts='TARGET_URL''URL of the target RS server'
-v tu='domainusername' -v tp='password''Credentials for target server.OPTIONAL, default credentials are used if missing. Note: the user will be listed as the 'creator' of shared schedules and 'modified by' account for report items, in the target server.
-v tst='SITE'OPTIONAL. This parameter is only used for SharePoint mode report servers.
-v tf ='TARGETFOLDER''Set to '/' for migrating into the root level. Set to '/folder/subfolder' to copy into a folder that already exists. Everything within 'SOURCEFOLDER' will be copied into 'TARGETFOLDER.OPTIONAL, default is '/'.
-v security= 'True/False'If set to 'False', destination catalog items will inherit security setting according to the settings of the target system. This setting is recommended for migrations between different report server types, for example native mode to SharePoint mode. If set to 'True', the script attempts to migrate security settings.OPTIONAL, default is 'False'.

More examples

Native mode report server to native mode report server

The following example migrates content from the native mode Sourceserver to the native mode Targetserver.

The following example adds the security switch:

Native mode to SharePoint mode - root site

The following example migrates content from a native mode SourceServer to the 'root site ' on a SharePoint mode server TargetServer. The 'Reports' and 'Data Sources' folders on the native mode server are migrated as new libraries on the SharePoint deployment.

Native mode to SharePoint mode -'bi' site collection

The following example migrates content from a native mode server to a SharePoint server that contains a site collection of 'sites/bi' and a shared documents library. The script creates folders in document the destination library. For example, the script will create a 'Reports' and 'Data Sources' folders in the target document library.

SharePoint mode to SharePoint Mode -'bi' site collection

The following example migrates content:

  • From a SharePoint server SourceServer that contains a site collection of 'sites/bi' and a shared documents library.

  • To a TargetServer SharePoint server that contains a site collection of 'sites/bi' and a shared documents library.

Native mode to native mode - Azure virtual machine

The following example migrates content:

  • From a Native mode report server SourceServer.

  • To a TargetServer Native mode report server running on an Azure virtual machine. The TargetServer isn't joined to the domain of the SourceServer and the User2 is an administrator on the Azure virtual machine TargetServer.

Tip

For information on how to use Windows PowerShell to create Reporting Services report servers on Azure virtual machines, see Use PowerShell to Create an Azure VM With a Native Mode Report Server.

SharePoint mode -'bi' site collection to a native mode server on an Azure virtual machine.

The following example migrates content:

  • From a SharePoint mode report server SourceServer that contains a site collection of 'sites/bi' and a shared documents library.

  • To a TargetServer Native mode report server running on an Azure virtual machine. The TargetServer isn't joined to the domain of the SourceServer and the User2 is an administrator on the Azure virtual machine TargetServer.

Verification

The section summarizes some of the steps to take on the destination server to verify content and policies were successfully migrated.

Schedules

To verify schedules on the target server:

Native Mode

  1. Open the web portal on the destination server.

  2. Select Site Settings on the top menu.

  3. Select Schedules in the left pane.

SharePoint mode:

  1. Browse to Site settings.

  2. In the Reporting Services group, click Manage Shared Schedules.

Download Rsscripter Tool

Roles and groups

Native Mode

  1. Open SQL Server Management Studio and connect to your native mode report server.

  2. In Object Explorer click Security.

  3. Click Roles.

Troubleshooting

Use the trace flag -t to receive more information. For example, if you run the script and see a message similar to the following

Rsscripter 2016

  • Could not connect to server: https://<servername>/ReportServer/ReportService2010.asmx

Run the script again with the -t flag, to see a message similar to this one:

  • System.Exception: Could not connect to server: https://<servername>/ReportServer/ReportService2010.asmx ---> System.Net.WebException: The request failed with HTTP status 401: Unauthorized. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Microsoft.SqlServer.ReportingServices2010.ReportingService2010.IsSSLRequired() at Microsoft.ReportingServices.ScriptHost.Management2010Endpoint.PingService(String url, String userName, String password, String domain, Int32 timeout) at Microsoft.ReportingServices.ScriptHost.ScriptHost.DetermineServerUrlSecurity() --- End of inner exception stack trace ---

See also

Rsscripter Sql 2016

RS.exe Utility (SSRS)
Compare Roles and Tasks in Reporting Services to SharePoint Groups and Permissions

Coments are closed