Partager via


Copying $OEM$ files and folders with MDT 2012 Update 1

I mentioned in the blog post at https://blogs.technet.com/b/mniehaus/archive/2012/07/21/mdt-2012-update-1-always-applying-images-with-imagex.aspx that MDT 2012 Update 1 no longer uses SETUP.EXE to install Windows 7 and above.  One side effect of this is that $OEM$ folders are no longer going to be copied, since that was something that SETUP.EXE did that the MDT LTIApply.wsf script doesn’t handle.

I’ve never been a big fan of using the $OEM$ folder structure, as it’s just as easy to add explicit XCOPY steps into the task sequence.  But for those of you out there that are using them, you can leverage the attached script (see the attachment link below) in your task sequence to do that.

To set this up, first copy the script into your deployment share.  Then, add a new step to the task sequence right after the “Install Operating System” step to run the script.  It should look like this:

image

Now, it will follow the original MDT logic for locating the appropriate $OEM$ folder to use, checking in this order:

  • %DeployRoot%\Control\%TaskSequenceID%\$OEM$
  • %SourcePath%\$OEM$
  • %DeployRoot%\%Architecture%\$OEM$
  • %DeployRoot%\$OEM$

where %DeployRoot% is the path to the deployment share, %TaskSequenceID% is the ID of the running task sequence (e.g. WIN8), %SourcePath% is the path within the deployment share for the operating system being used, and %Architecture% is either X86 or X64, depending on the boot image being used.  (That’s a bit of a flaw in the original MDT logic since we now support cross-platform deployments – it would choose an X86 $OEM$ folder even if you were deploying an X64 operating system.  That’s probably a good sign that no one is using this option.  Most people use the last one.)

Once it finds a folder, it will look for two folders in that $OEM$ folder and copy them to the appropriate place for the new OS:

  • $1 will be copied to the root of the volume that the new OS image was applied to.
  • $$ will be copied to the Windows folder on the volume that the new OS image was applied to.

The script doesn’t deal with any other folders because it’s too messy to do that from within Windows PE – drive letters aren’t the same as what they would end up being in the full OS.

CopyOEM.zip

Comments

  • Anonymous
    January 01, 2003
    Thanks, I'm old school and prefer the $OEM$ for simplicity sake.  

  • Anonymous
    January 01, 2003
    Thanks.  This was helpful!

  • Anonymous
    January 01, 2003
    ...Just discovered that MDT 2012 seems to do it without the script. I have a '$1' folder within the $OEM$ folder in my MDT 2012 share and it copies across just fine...no errors at the end of deployment...

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    This didn't work for me either using MDT 2013....anyone figure this out?

  • Anonymous
    January 01, 2003
    Worked perfectly with MDT 2013. Thank you.

  • Anonymous
    January 01, 2003
    Euhm... ok?

  • Anonymous
    January 01, 2003
    good post

  • Anonymous
    June 29, 2013
    If this works.... I will be so happy!

  • Anonymous
    August 08, 2013
    The comment has been removed

  • Anonymous
    August 15, 2013
    The comment has been removed

  • Anonymous
    September 02, 2013
    Thanks! Great work! It helped me to finaly change the CTRL-ALT-DEL to CTRL-ALT-INSERT for VMWare machines. Now I only have to check how to copy specific files with WMI filters ;-)

  • Anonymous
    November 26, 2013
    Anyone needed to make any changes for MDT 2013? My Task Sequence is failing at this step for some reason.

  • Anonymous
    November 26, 2013
    Highly doubtful, but I haven't tried it.

  • Anonymous
    December 18, 2013
    The comment has been removed

  • Anonymous
    March 13, 2014
    Works fine in MDT 2013 . Just add the script after Applying OS..

  • Anonymous
    April 04, 2014
    This may help for those where it's failing as it was for me too.
    I had used the $OEM$ at first in the root of the deployment share. However if you have multiple IDs you need to create the $OEM$ folder for each task sequence. ie, deploymentshare$OEM$ and so on
    Hope this helps

  • Anonymous
    April 04, 2014
    The comment has been removed

  • Anonymous
    July 11, 2016
    It was copying fine for a while but now I am getting the red error at the end as well. The only change I have made is possibly adding folders to the folder that gets copied. I am setting the copy job to continue on error so that it does not break the imaging process.