Tuesday, June 8, 2010

SQL Server 2008 Reporting Services RS.EXE Supporting Forms Authentication

I've decided to expand the scope of my blog to more than just Identity Management. Recently, I've been submerged in the BI space, and since I'm not sure when I'll resurface, I'd like to contribute some of the cool stuff I've been doing back to the community.

I'm currently working on a scale-out deployment of SSRS that uses Forms authentication. Everything is working well with the security extension, and now we're focusing on moving everything into Stage. Good time for the scripting utility, rs.exe, right? Well, if you didn't already know, rs.exe isn't supported with Forms authentication. Wow, what a bummer.

What's more, I can't use the RSScripter, which is a very cool and useful app for generating scripts for rs.exe.

So, what do I do? I could write my own utility. We already have a web service client to integrate SSRS with an in-house app. I would just need to add a bunch of management features to it... and add commands to extract and load... and make it generic enough to reuse... and then maintain it. Nah, that sounds like a lot of work. Let's just use .NET Reflector on the original rs.exe app!

I've reassembled rs.exe with the ability to preserve the RS authentication cookie, which is required with Forms authentication. Hopefully someone out there finds this useful!

http://rs1.codeplex.com/

BTW, the RSScripter also doesn't support Forms authentication, because rs.exe doesn't, and RSScripter is dependent on rs.exe. Leave me a comment if you need a version of RSScripter that works with Forms auth.

Good luck!

40 comments:

  1. This comment has been removed by a blog administrator.

    ReplyDelete
  2. I would really like that RSScripter that does Forms auth. I have been trying to move a RS server and maintain all permissions etc. for over a week now and it is just not happening. Thanks

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. This comment has been removed by a blog administrator.

    ReplyDelete
  5. Thank you so much for your help Joe.

    That problem has been irritating me for almost 2 weeks now and
    finally its fixed.
    It was so nice to finally see all the .rdl files and permissions
    extracted correctly.

    Thanks so much again.

    ReplyDelete
  6. Hi. I would be very interested in RSSCRIPTER which supports forms authentication.

    ReplyDelete
  7. Thanks Joe. Your modified RSSCRIPTER works well. I was able to download all the files from my Custom authentication server! YEAH!!!

    ReplyDelete
    Replies
    1. Please tell me from where the RSScripter (that works with forms authentication) can be downloaded from

      Delete
  8. your post is nice . . let me tell u one thing that Blogs have become latest and important source of quality free information on net people enjoying for hours together. . .nice blog keep sharing;)
    Dissertation Writing Services

    ReplyDelete
  9. I need this RSS scripter.
    And i want to ask one question that can we change publish reports.rss file for working with form authentication?

    ReplyDelete
  10. Please use the Contact link on Codeplex and I'll send it to you.

    http://www.codeplex.com/site/users/view/zamojo

    ReplyDelete
  11. Hi Joe, can you provide a sample of the RS inputfile (Script.rss) in below example to script the data
    sources, reports, subscriptions from report server to deploy to another report server:

    rs –i Script.rss -s http://servername/reportserver

    ReplyDelete
  12. If I use the rs1.exe file I downloaded from the link on this page ( http://rs1.codeplex.com/ ):

    rs1 -i Script.rss -s http://servername/Reportserver

    Could not connect to server: http://servername/Reportserver/ReportService2005.asmx

    -----------------------

    If I use the rs.exe file that comes with SQL Server 2008 Reporting Services:

    rs -i Script.rss -s http://servername/Reportserver

    CAMS
    APR001(A)
    DS
    APR001

    The command completed successfully

    -----------------------

    Script.rss file:

    Public Sub Main()
    Dim items() As CatalogItem
    items = rs.ListChildren("/", True)

    Dim item As CatalogItem
    For Each item In items
    Console.WriteLine(item.Name)
    Next item
    End Sub

    ReplyDelete
  13. This comment has been removed by the author.

    ReplyDelete
  14. Here's how you would use RS1:

    rs1 -i Script.rss -s http://servername/Reportserver -u <username> -p <password>

    If you want to script all of the data sources, reports, etc., I would use the RSScripter1. Leave me a comment on the codeplex site, and I'll send it to you.

    ReplyDelete
    Replies
    1. Hi Joe, how can I deploy my data source with user credential in Report server? can i have the sample scripts?

      Delete
    2. Hi Joan, please use the "Contact Me" form on this blog and I'll send you RSScripter1. Cheers!

      Delete
  15. Hey Joe,

    Thanks for giving me this it works perfectly in our custom authentication environment.

    Saved me a lot of work.

    Thanks again,
    Matt

    ReplyDelete
  16. Could I get this RSS scripter.

    ReplyDelete
  17. Please use the Contact link on Codeplex and I'll send it to you.

    http://www.codeplex.com/site/users/view/zamojo

    ReplyDelete
  18. Thanks for sending me the rsscripter1. It has been very helpful.

    ReplyDelete
  19. Thanks so much for your help in sending me the RSScripter1 tool that works with Forms Authentication. I loaded it up and it works great!

    You even went above and beyond to help me get around Exchange stripping out the EXE from the Zip.

    Great job!

    ReplyDelete
  20. Joe, Thanks so much for helping modify the RssScripter utility. Saved a lot of work reinventing the wheel. I especially appreciate the promptness with which you responded to my queries. -Smitha Reddy

    ReplyDelete
  21. The modified scripter worked like a charm for me too!
    Nice work Joe. Saved me heaps of time.

    Cheers

    Dace

    ReplyDelete
  22. This comment has been removed by a blog administrator.

    ReplyDelete
  23. Hi is it possible to get rsscripter source code from somewhere?
    rsscripter does not support shared datasets in 2008R2.
    Cheers

    ReplyDelete
  24. i really like your post .. i would like to bookmark your site for my future needs :)
    dissertations

    ReplyDelete
  25. Thank you for such a prompt response. You helped me a lot. Unfortunately, there is still a problem (with Shared Datasets), but I hope to solve it
    Best regards

    ReplyDelete
  26. Replies
    1. Please someone upload the RSScripter here.

      Delete
    2. Please use the Contact link on Codeplex and I'll send it to you.

      http://www.codeplex.com/site/users/view/zamojo

      Delete
    3. Hi Joe,

      I contacted you using the link above a while ago. i hope you got that request. Hope to hear from you soon. Thanks a lot and i really appreciate your reply.

      Thanks

      Delete
  27. Hi Joe,

    Thanks again for your version of RSScripter. I can now script out the objects from my SSRS Website.

    Thanks,
    Paul

    ReplyDelete
  28. This comment has been removed by the author.

    ReplyDelete
  29. I am actually happy I experiential this superb blog. I have to thank you too much info online! I really like we have bookmarked your internet blog for brand new things to check out email on the highway.

    ReplyDelete
  30. Hi! Can you please send me your version of RSScripter. i have sent you a message in Codeplex.
    Regards,
    Margus

    ReplyDelete
  31. Thank you very much for being so helpful and sending the updated RSScripter! Very helpful.

    ReplyDelete
  32. Thanks for sharing helpful and useful information, it provides the information about audit sql server in sql server 2008 but I test this automate tool from http://www.lepide.com/lepideauditor/sql-server.html which enables the user to audit sql server and enables data filter options that assists to unfold the minutest of information to the last level. It allows to automate report generation .

    ReplyDelete
  33. This is great. Would it be possible to share the code of how you did this?

    ReplyDelete
    Replies
    1. Please use the "Contact Me" form on this blog and I'll send you the code. Cheers!

      Delete