I’ve been working on a project for an Operating System Deployment (OSD) where the client wanted some type of user input during a ConfigMgr TS. The purpose of the user input was to set ConfigMgr variables that can be used later on during the TS to do certain things based on the users answers. It’s easy to do with Microsoft Deployment Toolkit (MDT) alone or MDT integrated with ConfigMgr but a little more difficult using 100% ConfigMgr. What I ended up doing was using ServiceUI to display an exe capturing the users answers and setting them as variables so the TS could use them later on.
How to do it:
- Get either the 32 or 64 bit version of ServiceUI.exe from your installation of MDT. Make sure you get the correct version so it matches your WinPE version. You can grab it below if you want.
- Get Jason’ Sandys’ OSD++. You can hit his MyITforum page or grab it below.
- Modify your OSD++ xml file to do what you want it to do. There is a PDF that explains how to use OSD++ in great detail in the zip file.
- Create a package in ConfigMgr that contains the ServiceUI.exe. Make sure it also contains OSD++ exe, and your OSD++ xml.
- Add a task that is toward the beginning of your TS that uses that package with the following command line
ServiceUI.exe –session:1 osdplusplus.exe
That will allow osdplusplus.exe to appear on the screen during the TS.
I was unable to use the –Process syntax as described in Cameron’s blog. I had to use the –Session syntax. From my understanding WinPE runs in Session 0. With Vista and above there is a user Session 1. From what I saw everything should run in session 0 in WinPE but I had to call Session 1 to get this to work.
6. That’s about it. When the TS runs it will pause for OSD++ where OSD++ passes variables to the TS so you can use it later on however you want.
The OSDplusplus xml files as of now. I still need to work on it a bit.
Cameron TechNet Blog explaining ServiceUI.exe: