EDIT: While this method still works, it has officially been depreciated by Microsoft. I write about the newer supported answer file in the article Use Unattend.xml to Skip Windows 10 OOBE during an SCCM Task Sequence.
Successfully Tested On: Microsoft System Center Configuration Manager versions 2012 - 1903, Windows 10 Enterprise versions 1507 - 1903, Windows 10 Long-Term Servicing Branch (LTSB) versions 1507 & 1607
Since the release of Windows 10, there have been a few new challenges arise when capturing and applying images. One issue I experienced is images hanging on a “Just a moment…” screen for anywhere from 15 minutes to over an hour:
I use SCCM 2012 MDT task sequences for majority of my images, and while the task sequence would eventually complete this issue added a considerable amount of time to the process.
Use an Answer File
After a bit of research and testing, I determined OOBE (Windows’ Out-Of-Box Experience wizard) to be the culprit, and the problem can be corrected by skipping OOBE altogether. This is done by an unattend XML that is applied during imaging. As pictured below, I was already using and unattend.xml within my MDT task sequences:
I found two XML attributes that helped, SkipMachineOOBE and SkipUserOOBE, and neither were a part of my existing XML. I dug into my Windows Settings package source files and edited unattend.xml, adding both attributes and setting them to true in the OOBE section:
After saving the XML and updating the Windows Settings package content on the SCCM distribution point, Windows 10 task sequences started proceeding without hanging on the “Just a moment…” screen and were much more timely. Success!
If you don’t have an existing Unattend.xml…
…then you can create a simple one from the code below. Copy and paste the following into a text editor and save as unattend.xml (not .txt):
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <OOBE> <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> <NetworkLocation>Work</NetworkLocation> <SkipMachineOOBE>true</SkipMachineOOBE> <SkipUserOOBE>true</SkipUserOOBE> </OOBE> </component> </settings> </unattend>
Create a new SCCM package that includes the XML as source files, then apply the XML during your task sequence like pictured above.