osd  -2Yes, it’s been a long time coming and after some sporadic coding over the past two years, I’m hard at work on OSD++ 2.0 which will also supersede OSD App Tree for ConfigMgr 2012. I should have a beta available soon (although it initially will not contain any App Tree functionality). For now, a few screenshots and a brief “What’s Cool IMO” list will serve as a teaser. If there’s something you’d like to see added, changed, modified from what you see or what either OSD++ 1 or OSD App Tree do today, please add it to the comments below.

What’s Cool (or will be when I put it in) IMO:

  • A rounded and flat look and feel
  • Information displayed using HTML formatting
  • Inclusion of OSD App Tree
  • Automatic variables; e.g., IsLaptop
  • A variable browser/editor
  • Conditional inclusion of *every* element based on JScript
  • Variable replacement for *any* value
  • No need for UDI’s ServiceUI to “inject” into the interactive user’s desktop
  • A directory browser to allow selection of directories on a remote share – useful for choosing USMT loadstate locations
  • A password action that will authenticate a user against AD
  • All in one executable

Screenshots (ignore the gibberish text – it’s there to simply test things)

This is an “Info” action where you can display any title and text to the user as you see fit.


Here is an “Input” action. You can string together up to three questions in each action. The text entered can be validated against a regular expression.


The same “Input” action showing the cue text for the first answer. Cue text appears in a text box to help the user know what to input but is not the text itself.


Another “Input” action with additional actions. This time, the second question displayed is actually a drop-drop box (aka combo-box). Also, notice the lack of a fourth question; that’s because it has a condition set on it based on the value of the second text box from the first Input action above.


Here’s that same Input action again with the fourth question displayed based on a run-time condition dependent on the value of a task sequence variable set in the first action.