Which Way Should You Choose?
As noted in part two of my series on OSD frontends, each method has its advantages and disadvantages. Which you should choose depends upon your requirements. The method I generally use is to run the frontend from within the sequence, but that’s subjective and by no means set in stone. Table 1 contains a summary to help you make this choice as well.
Table 2: Frontend Execution Summary
|Run as a task||All|
|Prestart command||New Computer|
|Run first program||Refresh|
Build or Download?
As with most things ConfigMgr, there are a least a few community provided frontends that anyone can download and use in their organization. These come in a variety of forms including simple scripts, HTAs, PowerShell (using Windows Forms or WPF), and even native code. Note that prior to Windows 8 and WinPE 4.0, using a PowerShell frontend was more or less impossible because WinPE did not support .NET or PowerShell. This made the choice a bit easier as it was between ugly HTAs or native code. PowerShell, as with just about everything in the Windows world, has change a lot of things for the better.
Should you use one of these or build your own from scratch? That all depends upon what you need and how capable of a developer you are (yes, even writing a script means you are developing something). Development also implies maintenance and yes, even maintenance after you are no longer on a project. For this reason, when many admins are making this choice, they opt to build their own using a simple script that they know (or at least assume) others will be able to easily maintain. While that is more or less a valid assumption, it is often not the best choice and leaves out many other great capabilities that a more professionally developed frontend can provide. A short-list of these capabilities includes input validation, an appealing GUI, secure authentication, and well-tested functionality. Of course, another advantage is not having spend time developing your own solution.
A simple, well-targeted web search should reveal a handful of excellent choices of frontends. These run the gamut in functionality and design and at least one should cover your requirements. Note that one advantage – depending upon your scripting skills – of choosing a script based frontend (VBScript, HTA, or PowerShell) is that if needed, you can modify it to meet your requirements if it doesn’t already. This could also be a disadvantage though as you may inadvertently introduce a bug or some other unintentional issue. Below is a short-list of popular and capable frontends starting with my (biased) recommendation for anyone looking for a frontend.
UI++ goes well beyond what most of the other frontends do by providing secure authentication and authorization, application selection in a tree, application mapping, input validation, complete customization in an easy to modify configuration file, pre-flight checks, easy branding, conditional logic, a task sequence variable editor, reading and writing to the registry and WMI, and much more.
Technology: C++ (native code)
Name: PowerShell OSD Frontend
Name: Pretty Good Frontend
Technology: C#, HTA
Name: ConfigMgr OSD FrontEnd
Name: The CM12 BitLocker FrontEnd HTA