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
Method | Pro | Con | OSD Scenarios |
Run as a task |
|
|
All |
Prestart command |
|
|
New Computer |
Run first program |
|
|
Refresh |
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.
Name: UI++
Technology: C++ (native code)
Screenshot:
Name: PowerShell OSD Frontend
Technology: PowerShell
URL: https://www.potentengineer.com/powershell-osd-frontend-with-windows-forms/
Screenshot:
Name: TsGui
Technology: PowerShell
URL: https://www.20road.com/tools/tsgui-custom-guis-in-sccm/
Screenshot:
Name: Pretty Good Frontend
Technology: C#, HTA
URL: https://prettygoodfrontend.codeplex.com/
Screenshot:
Name: ConfigMgr OSD FrontEnd
Technology: C#
URL: https://www.scconfigmgr.com/configmgr-osd-frontend/
Screenshot:
Name: The CM12 BitLocker FrontEnd HTA
Technology: HTA
URL: https://www.niallbrady.com/2013/01/18/the-cm12-bitlocker-frontend-hta/
Screenshot: