So for my first technical blog, it makes sense to focus on something I will likely reference back to in future instalments, and something that I find crucial to making life easier when it comes to OSD – OEM Files.
Now some of you more seasoned OSD folks will be nodding along already, remembering back to some MDT basics, but I feel it has slowly been forgotten with the corporate uptake of SCCM, and so I want to highlight what this is, and more importantly, give it a fresh lease of life.
OEM Files as I call them, or $OEM$ as it was more commonly referenced in MDT times gone by, are quite simply a bunch of files and folders that you wan’t to copy onto every machine you image. Why would I want to do that? – I hear you ask, well for a multitude of reasons I would reply.
Ease of updating, Visibility, Access to them during deployment and to an extent more leeway over other methods such as hard storing them in the WIM or Group Policy.
So, enough talk, more show..
Create yourself the following directory structure, we will be making this into a package later, so ensure SCCM has permanent access to it:
Here at the Windows 10 folder root, will be the symbolic C:\ location on our client devices. Anything we place here, will be copied to them. You can see already one of the uses here, I find it extremely useful to create a “build*.txt” file, where * is the version number of my current image in terms of updates I have made to it, it also holds a brief overview of any changes. This makes identifying a client devices age or differences extremely easy.
For the sake of this article, create yourself a “Build*.txt” file here and give it a brief description of the current version you are deploying.
Now across to SCCM, create yourself a new Package (Software Library>Application Management>Packages).
- Name: OEM Files – Windows 10
Set your source path to the Windows 10 folder you created earlier, and do not create a Program.
Finish the wizard, and distribute your OEM Files package to your Distribution Points.
Now, take note of the Package ID for your OEM Files, we’ll need this later.
We now need to configure your Task Sequence to copy these files to your clients. Navigate to Software Library>Operating Systems>Task Sequences and Right Click>Edit your Task Sequence.
Add a new Run Command Line step, at some point below your Setup Windows and Configuration Manager step.
- Name : Copy OEM Files
- Command Line: xcopy.exe “C:\_SMSTaskSequence\Packages\PACKAGEID” “C:\” /E /Y
- Package: OEM Files – Windows 10
Where PACKAGEID in the command line is your own ID you took note of earlier.
And that’s it! When SCCM hits this step during OSD, it will cache down your OEM Files package to its “Packages” location, then the xcopy will run, copying all files within to your C:\ local directory.
Here is our local machine after being built, with our Build*.txt file on root.
If you’re currently wondering, well why didn’t you use the amazing new “Download Package Content” step that’s built in, well that’s for very good reason. Currently, the only options you have with this step will download our Package to the C:\ location, but inside its own PackageID folder.. as opposed to copying the contents to C:\. I hope with time the ConfigMgr team will add this feature, and i’ll update this guide right away :).
As I mentioned earlier, in following blogs I’ll show in more detail how I personally use this to great advantage and the many things this can enable you to do, so stay tuned, until next time I hope this has helped.