Friday, April 1, 2016

OS Deployment Dashboard

Update 7 June: 
Have updated the download link with an updatec version(much faster) of the report.
If you downloaded the report before 7 June 2016 you should update to the newest version.
New version is also include the drill trough report (OS-OSD Details Report) so that you can click on a Computer to bring up the step by step details for that OS Deployment.

One of the first reports that i posted on this blog and by far the most popular is my "OSD - Overview" report. That report is now over 2 years old ,since then I've done a lot of custom report work both internally and for other clients and I've learned a lot of new techniques. My old OSD report was no longer up to my standard so it was time to create a new one.

Been working on this for a couple of days now and i think it's ready to show the public ..,so i present to you ,the new "Task Sequence Dashboard" ,hope  you like it!

Task Sequence Report ,main page


First page is a dashboard like view ,while page two and up contains details.
Hopefully most of the elements in the report should be self explanatory ,but i'll quicklime run trough some of the features.

The report has rebuilt controls ,now you can select only the task sequences that you're interested in. when you've selected the task sequences you get a list of deployments for the selected task sequences for, default it selects all deployments.
Last parameter is to set how far back you want to go ,default it's set to 3 months.

The main page have 4 elements:

Top left is a bar chart showing the number of OS Deployments pr day for the selected period.

Top right is an overview of what the success rate of each of the task sequences is in percent. It only considers "success vs. failed"

Bottom left is a overview of the active deployments for each task sequence. It shows the average runtime for each task sequence ,Active Deployements(that have been used) and how many computers have ran a each deployment.

Bottom right is a quick overview of what errors the computers might have encountered.
It has tooltips both on the table and the pie chart ,so if you hover over the error code it gives some more information.

Page two (and up) is a details page showing the status for each computer that have run the task sequence. It shows start and stop time using the clients local time ,and calculates how long the computer used on the deployment.
(Note! if the client hasn't done a hardware scan it uses a default timezone attribute in the report. Default it's set to 120)

I've colored coded the status messages so you can easily spot computers that have problems. The failed statuses have a tooltip that decode the error message when you hover over it.
(same decoder as the console uses ,it's not great for task sequence errors.)
Last column is bar chart so you easily can spot computers that used long time on the OSD.

Hope you like the report ,if you do please spread the word and/or post a comment bellow.


  1. It's very useful. Great Job! Thanks :)

  2. Very helpful and saved me a lot of time, thanks!

  3. Are you going to have a sub report like you did in your previous release?

    1. Yes ,just need to find the time to overhaul the subreport. New one should be alot better than the current one. The current one have som trouble separating runs when a computer have done multiple attempts.

      Next report to be released is my "Windows 10 Versions and Branch" report.

    2. I would like to take a chance to also thank you for this amazing report.

  4. This, as well as all your other reports are amazing. Thank you for doing what so many of us can't/or don't have time to do. You are much appreciated.

  5. Ok...I guess I'm missing something here. How do I correct the built in data source so it properly points to my system? The reference to /configmgr_vgs/GUID...doesn't work for me.

    1. Forgot to mention this ,you need to change the datasource to your site.
      Easiest way to do this is to right-click the report on the report webpage and select "Manage". Under "Data Sources" click "browse" to select a new shared datasource. you should see a folder for your configmgr site ,and on the root of that folder there should be a shared datasource. Select that shared datasource ,save and your done.

    2. Yep figured it out! Just been awhile since I worked with custom reports. It came back to me after staring for a bit ;)

  6. Thank you for sharing this report, it was just what I was looking for!

  7. Great report!!!! I been trying to create one just like this one and kept running into other issues. Love it..

    once again Thank you!

  8. Thomas, we uncommented out the Timed Out stats in the OSD Overview report but that information is not displaying on the Overview report as failures. Any help is greatly appreciated.

    1. Did you see the "mock-up" screenshot ( ) i posted on in the comments of the Details Report.
      Is that close to what you're looking for?

    2. Thomas, That's exactly it! Can you provide that source?


  9. Is it just me that doesn't see the Error pie chart? Looked at the report design and the Piechart seems to be missing. Otherwise awesome report.

    1. Hmm ,don't remember exactly why i removed it. think it was causing some alignment issues.
      the same data is availible in the list, except for the error lookup tooltip that i forgot to add.

    2. Good, will you be adding the error lookup later or show us how to? And also, how to we go to page two of the report, I wasn't able to find what item was linked to go to that other page. In the download, it seems that the other report might be the Task sequence details report and not Detailed status for OS deployments report. Thks again, awesome job.

    3. Adding this as a tooltip on the errorcode will resolve the errorcode:

      ..but for OSD most of the errorcodes resolve to "(unknown error)" unfortunately so it's not as useful as i could have been.
      Maybe I'll build my own error resolving libary sometime.

      There are page controls under the parameters at the top. Page 2++ contains all a list computers that have ran one of the selected deployments. Click on a Computer to jump to the next report that shows step by step details.

  10. dsadas, confirmed I also don't see the error pie chart. Hopefully Thomas can do his magic again.

  11. Great dashboard... Just a suggestion... SUP dashboard...

    1. Got one that i started on, but forgot about until now. Got the basic framework of the report up and running, but it still needs some work.


      Next out is my Windows 10 (Branch & Editions) Report, but maybe I'll pick up work on my SUP dashboard after that.

    2. Looking forward to the SUP Dashboard.

  12. Great stuff. Any plans on some kind of report or dashboard for Application deployments?

  13. Nice Post Thanks For Sharing to get more information Managers Dashboard Software Visit here.

  14. This comment has been removed by the author.

  15. Hey Thomas I wanted to post this on Johan's Deployment Research Facebook site. Are you updating this report for CB1610?

    1. Post away:-)

      Does it need updateing to work with CB1610?
      Haven't worked with Configmgr in a while so I'm not up to date on the newest features yet.
      Seems to work fine with my CB1610

      Let me know if something needs to be tweaked to work with CB1610

  16. Hiya. Having trouble running this with a deployment of around 2,400 workstations. Initially it ran ok, but now always fails with this error:

    Report processing has been canceled by the user. (rsProcessingAborted)

    Stack Trace:
    at Microsoft.Reporting.WinForms.ServerReport.ServerUrlRequest(Boolean isAbortable, String url, Stream outputStream, String& mimeType, String& fileNameExtension)
    at Microsoft.Reporting.WinForms.ServerReport.InternalRender(Boolean isAbortable, String format, String deviceInfo, NameValueCollection urlAccessParameters, Stream reportStream, String& mimeType, String& fileNameExtension)
    at Microsoft.Reporting.WinForms.AsyncMainStreamRenderingOperation.RenderServerReport(ServerReport report)
    at Microsoft.Reporting.WinForms.AsyncRenderingOperation.PerformOperation()
    at Microsoft.Reporting.WinForms.ReportViewer.AsyncReportOperationWrapper.PerformOperation()
    at Microsoft.Reporting.WinForms.ProcessingThread.ProcessThreadMain(Object arg)

    The error log on the RS server shows a large output, however this may be pertinent.

    library!ReportServer_0-3!d154!12/16/2016-10:49:05:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: , An error occurred within the report server database. This may be due to a connection failure, timeout or low disk condition within the database.;

    1. think the default timeout is 30 seconds for the query ,don't know if there's a timeout for the drawing of the report it self.
      you can try reducing the time period and see if it starts working.

      try looking at the report servers tempDB, maybe that where the problem is.

      Have run this report on deployments with around 2200 installs within a month without issues.

    2. Hi Thomas,

      Yeah thanks for the prompt reply. The issue it seems was when leaving the Deployments at the default setting, which selected 3 deployments the TS was targetting. Although the 2 pilot deployments didn't have many workstations, the report doesn't like them for some reason. When I just select the main production deployment, the report runs and completes in less than 10 seconds (with 63 pages of data). Running against each other deployment separately also works. Just doesn't like the combination for some reason.

      Cheers mate,


  17. Amazing that you are sharing such quality reports with all of us! Thanks!!!

  18. Hi Thomas,

    Very nice report. Nice job.
    How much work is it to do the report with status of applications and such?

  19. Hi, is it possible to add the last step run on the Detailed Status for OS Deployments? I also wasn't able to have timedout show on the Successrate of Task Sequences though I believe I commented out the timedout section.

  20. This comment has been removed by the author.

  21. This comment has been removed by the author.

  22. This comment has been removed by the author.

  23. Hi Larsen I am getting one issue with your report and I am trying to figure out why there is difference in numbers between your report and customer report provided by Microsoft.
    when I ran your report on TS its showing me total laptops for example 1000 in last 2 days but if I ran Progress of Task sequence report its showing me 1500 number . I don't know why your report is not showing all the builds please comment ?

  24. Hi Larsen I am getting one issue with your report and I am trying to figure out why there is difference in numbers between your report and custom report provided by Microsoft.
    when I ran your report on TS its showing me total builds for example 1000 in last 2 days but if I ran Progress of Task sequence report its showing me 1500 number . I don't know why your report is not showing all the builds please comment ?

  25. Replies
    1. First guess is that it's a count vs count distinct "issue".
      Don't remember exactly ,but if i remember correctly the graphs use "count distinct Client name" as in "Count the number of clients have run the TS not how many times the TS has been run"
      This can be changed by switching from "Count Distinct" to "Count" on the charts.
      Page 2 (and onwards) shows all runs (hopefully).

    2. Thanks Larsen for your reply I really appreciate it . Yes Graph uses count Distinct Computername. I change it to Count(ComputerName) but still same problem . SCCM deployment status is showing me 1500 and your report is showing me total 1020 . Very big difference .

    3. Any thoughts other than count vs Cont distinct ?

  26. Evan tried to change the Count to Resource id then completely different.
    Progress of TS report is showing me
    Successded 1500
    Running 90
    Pending 50
    failed 23

    which is what I can see under SCCM deployment status.

  27. Hi,
    Can you provide with a time interval on the report? It would be best if we could use a time interval.


  28. Hi Thomas,
    Is it possible to include the task sequence step error, on the report??

  29. Hi, we've been using your OSD report for a long time. But lately (I believe it has happend after we upgraded to ConfigMgr 1706(but that might just be a coincident, the OS - OSD Detail repport runs for a very long time and then it might rendered a result after an eternity. It seem to be the query creating the Advertisment dataset. Just executing that query in SQL management studios takes approx 55 minutes, before returning 212 rows (it seems to be the last join that stalls everything:
    "join v_Collection col on adv.CollectionID = col.CollectionID"

    Anyone experience something similiary?

    Kind Regards,


  30. Hi Thomas

    I am a huge fan of your reports, and thoughts hereoff.
    I had a customer where we had problems with the report took too long to process, and i ran it past their DBA.
    He has made some changes, and in their SQL 2016 SP1 CU6 installation it now runs much faster.

    I would like to share the changes we have made, so that you perhaps could take a view to see if you see the same performance improvements, only problem is i cannot send the changes because of the character limit.

    Any chance you could send me an email on:
    mlh [@] edgemo [dot] com

  31. FYI, the OSD - OS Details report was taking a long time to run. I was able to resolve it by removing the "join v_TaskExecutionStatus ts on adv.AdvertisementID = (select top 1 ...)" line. I didn't see anywhere in the data that called from that join anyways.

  32. Funny, I came to a very similar conclusion today as well about that very same JOIN. We've recently seen the report execution times go way up from 1-2 minutes to up to close to 10 now. The main thing that has changed is CB going from 1610 to 1702 about 6 weeks ago. Also I have seen other custom reports have issues with SQL 2016 optimization. Turned out to be this This seems to speed up these OSD reports a bit too on some of the reports' queries.

  33. Hey Larsen,

    very good report thank you!
    Just a little issue in my enviroment, the graphs aren't being displayed, can you help me?
    Thanks in advance.

  34. ?I used to be very happy to search out this web-site.I wished to thanks for your time for this excellent learn!! I definitely enjoying every little bit of it and I've you bookmarked to check out new stuff you blog post. online casino real money

  35. I am looking for a way to get a report that shows me what applications are installed for a task sequence (actually for all of them) - so without input of a specific TS or APP, a report that shows me all the apps being deployed for all the TS's. Do you have something like that?

  36. First of all great Report

    Maybe someone can also give me a hint, how to edit the report so that only the last record of a Client is listed.

    So if for example a Client has failed the TaskSequence at the first runtime but on the second the TaskSequence has completed only the last run should be listed!?

  37. The report works great i CM, but I get empty pages when I run it in a webbrowser. (Tried Chrome and IE) Any suggestions?

  38. Hi,
    Thanks for a great report.
    Would it be possible to get added the TS error code on "Detailed status for OS deployments" list, so it is possible to see what error code the TS has returned?
    It could also be great to have the error code on the "OSD Details" report.
    I hope it is possible.
    Thanks in advance.

  39. What a nice post. I appreciate about it. Do you know about 18 lansdowne crescent management company limited then tell me. Or have another site like this share with me.
    Thanks a lot!!!

  40. Thank you for sharing this report it's a great learning experience for me.
    It works well in my SCCM Current Branch environment, but I've been seeing some timeouts listed and was wondering what they mean.
    Also I've been having trouble getting it to work in an older SCCM 2012r2 environment with no data being returned by the report. Is this report expected to work in the older version of SCCM?

  41. I found this thread which just happens to mention one of the queries used in this report. It was taking a LONG time for us to click through to the sub-report as well... having implemented the suggested edit in the URL below improved the speed of the Query for me from 2min 20sec to only 1sec. It would be great to have this query included in another version update.