When looking at decreasing the time it takes for your OSD. There are three things you will want to look at. These are, configuring dynamic variables to specify what your reboot delay should be on steps that require a reboot, the sms agent host service and power management settings. By default, your reboots will take 1 minute so this is theoretically 2-3 minutes between steps where you have specified a reboot. The SMS agent host service is set by default as a delayed startup so this eats into time for your OSD too and lastly power management is set to default, you’ll want this on high performance.
First create a step in your task sequence and choose Set Dynamic Variables, in this I have specified the 4 variables, there are probably more that you can put in here but these are the ones I use:
SMSTSAssignUsersMode - Auto SMSTSAssignmentsDownloadInterval - 15 SMSTSRebootDelay - 0 SMSTSPostAction - cmd /c gpupdate /target computer /force /wait 0
The next thing you’ll want to do is create a Run Command Line step to configure your power management options. In the command line, what you’ll want is:
PowerCfg.exe /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
For the above to work, you will also need to create a package which contains powercfg.exe executable which you can take from any windows 10 machine.
Doing this you will shave off 50% off your time. It is also worth going through your task sequence and removing any unnecessary reboot steps.
Just after the Setup Windows and ConfigMgr step, I have set the SMS Host Agent to Auto using a command line step.
cmd /c sc config "CcmExec" start= auto
From doing this, I got my imaging time down from 1 hour 12 minutes to 26 minutes so it has helped significantly.