Leave a Reply


  1. This is perfect!! I’m working in 4 different SSRS environments with the same reports to deploy. This really helped the my automated deployment process.

    Thank you so much!!!


    Sven Reply

  2. Awesome thank you very much

    Diego Valenzuela Reply

  3. This has save me a ton of time. Thanks very much for sharing.

    JustMike Reply

  4. thank you so much for this! We spend way too much time manually updating the Report Manager site with reports.

    Sandy Reply

  5. You don’t want to link a report datasource to a Shared Datasource if the datasource in the report is embedded (DataSourceDefinition vs. DataSourceReference), right? How do you check that the item datasource type is DataSourceReference? I’ve been banging my head against a wall trying to do this. I’m pointing at a report where the XML clearly says it’s a Reference and when I inspect the Type of the Item returned by GetItemReferences it always says DataSourceDefinition!

    Richard Schaefer Reply

    • Ah… You’re using GetItemReferences, not GetItemDataSources. I get it. Never mind.

      Richard Schaefer Reply

  6. Hi,
    I have tried using the above code, but I get an error message when setting the data source. I can not figure out.

    Cannot convert argument “DataSources”, with value: “SSRS.DataSource[]”, for “SetItemDataSources” to type “SSRS.DataSource[]”: “Cannot convert the
    “SSRS.DataSource” value of type “SSRS.DataSource” to type “SSRS.DataSource”.

    Any suggestions or help?

    Scott Reply

  7. Thank you for these scripts. How can I specify a path and folder for downloading reports and for the source of the uploading script?

    Doug Reply

    • The examples provided all use $pwd (i.e. the current working directory) as the directory to read from/write to, you could change that to any path you like.

      Léon Bouquiet Reply

  8. This article saved me a lot of time when migrating a SSRS instance, and is very well written.

    Thank you!

    Pontus Sjöström Reply

  9. This article was of great help for me but I noticed that the new site template placed all code on one line and thus ruined formatting and readability.

    Vincent Reply

  10. I was trying to consolidate a few SSRS Servers hosting over two thousand reports onto one server and this script has proved extremely helpful.

    Thanks Léon- you are a champ.

    Ishan Bhalla Reply

  11. Thank you very much for this code example. It saved me much time.

    Mazin Asmar Reply

  12. Very well explained and exactly what i was looking for. Everything works great but in my case, we have shared data set which this script is not mapping reports to it.

    A Reply

  13. Thanks you so very much! Really appreciate all of the knowledge shared.

    Tom Reply

  14. You have long-lasting code. It’s still simple and perfect. Saved my time.

    Saravana Reply