Joel 'Jaykul' Bennett has just published the 0.2 version of PowerBoots on CodePlex.  PowerBoots is a library which allows you to write WPF GUIs in PowerShell.  He has a great tutorial HERE that you should definitely check out.  In fact, you should check it out even if you aren't interest in GUIs, it is a great example of the amazing sort of things you can do with PowerShell.

Yup - that is right - Rich, powerful GUIs written in PowerShell.   This has been a dream of the PowerShell team since the very beginning. 

We just love TK.  TK was a library that allowed people to write GUIs using TCL.  It was simple enough that admins could spend a couple of hours and get a GUI that provided them EXACTLY what they needed.  I'll tell you - the admin written TCL/TK guis were some of the most awful looking GUIs in the history of computing BUT ADMINS loved them!  Why?  Because they were totally functional.  They provided a solution that was exactly matched to the admins problem and it was organized the way the admin thought about it.  This is metaphysically impossible for us to accomplish with in-the-box admin GUIs.  We have to provide most->all the functions that most->all the people would want most->all the times.  The result is that it is not organized the way you would organize it and you have to wade through a bunch of stuff that you are never going to use.  In other words, the signal-to-noise ration of TCL/TK GUIs is absolutely optimal.

So you might be asking, "If that was your dream from the beginning, why haven't you done it already?"  Sadly this is a "to ship is to choose" issue.  This has always on been on each of the "list of things we could do next" and each time we prioritized other things ahead of it.  Honestly - I think we made the right calls.  When we prioritize our list, one of the things we always ask ourselves is, "are we the only people that can do this?".  When the answer is "yes", it is higher priority.  For TK, we always said that anyone could layer it on top of what we built if we provided the right features.  

Jaykul has proven that right with PowerBoots. 

With his latest version Jaykul adds:

  1. PowerShell 1.0 compatibility
  2. Cached script functions
  3. Dependency properties

Check it out. 

Enjoy!

Jeffrey Snover [MSFT]
Distinguished Engineer
Visit the Windows PowerShell Team blog at:    http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at:  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx