On the MSDN forums I see a lot of questions about how to use program code or command line script to automate or simplify administrative tasks. Reporting Services has an extensive API for performing practically any task you can perform through Report Manager or Visual Studio. Automation script can be used to publish reports, change properties (for example, changing the data source for a group of reports on the server), create folders, add, delete or move reports, create or alter subscriptions - you name it.
Here's one example of programmatically deploying reports:
However, the best way I've found to generate practically any code you would need to replicate or modify the state of the report server is by using an impressive scripting utility developed by Jasper Smith, called the Reporting Services Scripter. Using this tool, you can generate deployment and change script for selected objects or every object on the report server. It works with any version of Reporting Services (through 2008 so far.) You can download a copy for free from www.sqldbatips.com.