Bulk set the Timeout property of the reports that in one specified folder
Introduction
This Visual Basic.NET sample script illustrates how to bulk set the Timeout property of the reports that in one specified folder via SSRS web services. This script applies to SQL Server Reporting Services 2005, 2008, 2008 R2 and 2012 versions in native
mode.
Scenarios
Manually, we can make use of Report Manager to modify the Report Timeout property of the reports one by one, but if we have a lot of reports which need to apply this setting, don't we want to replicate in doing this tedious action? The answer is no, we
can author a VB.NET script and save it into a .rss file, then take use of RS utility to execute this script with specified parameters. As a result, we can bulk apply this setting to multiple reports. This script will ease IT profs' work in these two scenarios:
- Need to set this property for multiple reports
- These reports organized in the same folder or path
Script
About how to run this script, please follow below steps:
Step1. On the Start menu, click All Programs, click
Accessories, and then click Run. In the
Open box, type CMD, and then click OK.
Screenshot:

Step2. Run the addpolicy.rss script file.
Command: rs -i E:\onescript\bulksetTimeout.rss -s servername/reportserver -v folderPath="/onescript" -v TimeoutValue=6000
Screenshot:

Note: replace the values of the variables with yours.
-i: “E:\onescript\bulksetTimeout.rss”, the bulksetTimeout.rss script file locates in the local path E:\onescript.
-s: “servername/reportserver” is the target report server URL.
folderPath: the target folder’s path, it should be one path from the target report server. After run this script successfully, the reports that located in this folder will be bulk update the time-out values.
TimeoutValue: 6000 corresponds to "Limit the report execution to the following number of seconds: 6000", 'Nothing corresponds to "Do not timeout report execution", -1 corresponds to "Use the system default setting".
Here are some code snippets for your references. To get the complete script sample, please click the download button at the beginning of this page.
Visual Basic
Edit|Remove
vb
'To define one new Property variable by receiving the value from the command line variable TimeoutValue
Dim preoption As New [Property]()
preoption.Name="ReportTimeout"
If TimeoutValue.ToLower()="nothing" Then
preoption.Value= Nothing
Else
preoption.Value= TimeoutValue
End If
Dim Options(0) As [Property]
Options(0) = preoption
'To define one new Property variable by receiving the value from the command line variable TimeoutValue Dim preoption AsNew [Property]()
preoption.Name="ReportTimeout"If TimeoutValue.ToLower()="nothing"Then
preoption.Value= NothingElse
preoption.Value= TimeoutValue
EndIfDim Options(0) As [Property]
Options(0) = preoption
Additional Resources
Related forum threads