In System Center Configuration Manager Operating System Deployment, content can be obtained in one of two ways for network deployments. The first way is to configure the Task Sequence Deployment to “Download all content locally before starting task sequence”. There are a few downsides to this option – it is only available to ConfigMgr clients (sorry, no media or PXE), and second, it downloads ALL packages referenced in the Task Sequence. The second way is to configure the Task Sequence Deployment to “Download content locally when needed by running task sequence”. As the Task Sequence engine gets to a step that has referenced content, it will download the content prior to running the step. This effectively a just in time process. What is missing is the ability to download specific items during the Task Sequence ahead of actually needing them.
Rewind – several years ago (back in the ConfigMgr 2007 days) I was working on an OSD project. While we were brainstorming ideas on what we could do to make the process better and more resilient, I came up with the idea of staging content during a running Task Sequence. The thought was, if we know that we were going to need something (like the WIM, Driver Package, CM Client, etc.), wouldn’t it be good if we could get it before we started the main execution phase of the Task Sequence. Instead of waiting until we were in WinPE (after the disk had already been wiped) and experienced a failure (maybe a network glitch), we could be proactive by staging only the critical content ahead of time. This way, we can get past the point of no return in the Task Sequence, minimize failure and have a useable system with at least the new OS installed. This is when the concept of Pre-staging Content Using Nomad was born.
This feature first appeared in 1E Nomad version 4.1 for ConfigMgr 2007. It has been in every version of Nomad since that time and this functionality extends both ConfigMgr 2007 and ConfigMgr 2012/R2. To make things easy, there is a custom action in the Task Sequence editor called Pre-stage Content Using Nomad. Simply add the step to the Task Sequence and select the Packages that are required during WinPE and OOBE.
The core OSD packages are: WIM, Boot Image, CM Client, USMT, MDT Toolkit, MDT Settings, and Nomad Agent (as well as any additional scripts used in the Task Sequence). Since this is a Task Sequence step that can be configured with Options, Driver Packages can be selectively pre-staged based on the target system. In other words, it is as simple as adding an additional step to pre-stage the correct Driver Package using the same condition that is used later in the Task Sequence to apply the Driver Package. The Pre-stage section of the Task Sequence might look like the following for environments with HP systems:
The Pre-stage step works in WinPE as well as a full OS, so pre-staging can be done under a Baremetal scenario as well as the Refresh scenario (and very soon the Upgrade scenario for Windows 10). The Pre-stage concept is also helpful when needing to perform OSD Refresh over WiFi. Since there is not any WiFi support in the current version of WinPE, simply pre-stage the necessary content before rebooting into WinPE.
If you have used this feature and like it or have other suggests, let me know!
Originally posted on https://miketerrill.net/
6 thoughts on “Pre-staging Content during OSD”
Use it every day, the new descriptions and such in Nomad 5 were a huge plus to this step!
Nice post Mike, but in my case when i select “Pre-stage Content using Nomad” i cannot see one of the driver package listed under references.
In my environment Task Sequence is already setup. Now i am trying to add driver package for one particular model in TS. i have distributed the package to all the DP’s.\
But When i right click on the Driver package: i see an option “Pre-Cache content using Nomad”. should i do this for this driver package to be listed under references in TS.
I have not worked with Nomad integrated with SCCM earlier.. kindly help.
Yes – it depends on how you have it setup (and which version you are running). The newer version will allow you to automatically pre-cache content that is added to a TS at a later time. The same goes for the Collection that was targeted – if machines were added to the collection after the initial pre-cache job, then they would also pick it up.
Hi Mike. We have 1E Nomad 6.0.2. Today when i came back to try adding the package.. i see that the driver package listed in TS . I t has automatically pre-cached content…it was just a matter of time for it to reflect. Thank you Mike
Can you please let me know if there is any option to validate content cache using “Pre-Cache content using Nomad” option . Some of the packages are not fully cached. So how can we validate and ensure whether all the apps are properly cached .
Your best bet would probably be to reach out to the vendor and see what their guidance is for cache validation. There are registry keys that can be used but this would need to be set up per package that you would want to validate.