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:

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
'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(0As [Property] 
        Options(0) = preoption

Additional Resources

Running a Reporting Services Script File 
ListChildren 
SetProperties
Related forum threads
http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/9fb4934b-ff2c-40e4-b5a1-9c9cbd120e8b/