Не обязательно софт складывать в папке OEM, там все файлы копируются на hdd, лишнее движение, проще создать папку с именем %по вкусу% в корне и от туда выполнять инсталляцию.
Для этого в файле SetupComplete.cmd пишем так:
Код:

@echo off
:start
for %%i in (Z Y X W V U T S R Q P O N M L K J I H G F E D C) do if exist %%i:\update\e7bd5e04efc1fd404b92e404042f871a set UPDATEPATH=%%i:\update
if not defined UPDATEPATH (
call:MsgBoxQuestion
)
cd /d %UPDATEPATH%
call Install.cmd>nul
goto:end
:MsgBoxQuestion
for /f %%i in ('cscript //NoLogo msgbox.vbs') do set MsgBoxAnswer=%%i
if %MsgBoxAnswer% == 1 (
goto:start
) else (
goto:do_nothing
)
:end
start /min rd /s /q %windir%\Setup\Scripts>nul
start /min %windir%\System32\shutdown.exe -r -f -t 0
exit
:do_nothing
start rd /s /q %windir%\Setup\Scripts>nul
exit
в папке %CD%\update\
создаем файл e7bd5e04efc1fd404b92e404042f871a
Файл может быть любым, я в автосборщике делаю с каждым билдом новый такой файл.
Содержание файла msgbox.vbs (Нужен если пользователь вынул флешку или диск)
Код:

iBtn = Msgbox("Для продолжения установки подключите съемный носитель с установочными файлами Windows.", vbRetryCancel+vbInformation+vbSystemModal, "Настройка Windows")
If iBtn = 4 Then
WScript.Echo 1
Else
WScript.Echo 0
End If
Ну и собственно Install.cmd, тут пишем то, чего нужно поставить.
Еще рекомендую вот это для закручивания гаек в винде при установке.
https://blogs.technet.microsoft.com/...-utility-v1-0/
На чистой системе, под виртуалкой задаешь групповые политики и потом экспортируешь в файл *.pol и можно применять к другой машине через установку, либо вручную. Задавать политики напрямую через реестр, кривой способ, политики работать будут, но если их потом просматривать через mmc не будет видно, какие политики применены, да и вероятность того, что это может слететь вполне себе имеет место быть.
У себя сделал так:
LGPO.exe /m GPO.pol
call:progress_val 100
По поводу улучшения качества
зондирования ПО (может пригодится)
Код:

for %%? in (
"\Microsoft\Windows\Application Experience\AitAgent"
"\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser"
"\Microsoft\Windows\Application Experience\ProgramDataUpdater"
"\Microsoft\Windows\Autochk\Proxy"
"\Microsoft\Windows\Customer Experience Improvement Program\Consolidator"
"\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask"
"\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip"
"\Microsoft\Windows\DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector"
"\Microsoft\Windows\PI\Sqm-Tasks"
"\Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem"
"\Microsoft\Windows\Windows Error Reporting\QueueReporting"
"\Microsoft\Windows\Maintenance\WinSAT"
"\Microsoft\Windows\Media Center\ActivateWindowsSearch"
"\Microsoft\Windows\Media Center\ConfigureInternetTimeService"
"\Microsoft\Windows\Media Center\DispatchRecoveryTasks"
"\Microsoft\Windows\Media Center\ehDRMInit"
"\Microsoft\Windows\Media Center\InstallPlayReady"
"\Microsoft\Windows\Media Center\mcupdate"
"\Microsoft\Windows\Media Center\MediaCenterRecoveryTask"
"\Microsoft\Windows\Media Center\ObjectStoreRecoveryTask"
"\Microsoft\Windows\Media Center\OCURActivate"
"\Microsoft\Windows\Media Center\OCURDiscovery"
"\Microsoft\Windows\Media Center\PBDADiscovery"
"\Microsoft\Windows\Media Center\PBDADiscoveryW1"
"\Microsoft\Windows\Media Center\PBDADiscoveryW2"
"\Microsoft\Windows\Media Center\PvrRecoveryTask"
"\Microsoft\Windows\Media Center\PvrScheduleTask"
"\Microsoft\Windows\Media Center\RegisterSearch"
"\Microsoft\Windows\Media Center\ReindexSearchRoot"
"\Microsoft\Windows\Media Center\SqlLiteRecoveryTask"
"\Microsoft\Windows\Media Center\UpdateRecordPath"
) do call:disable_task %%?
:disable_task
set task_name=%~1
schtasks /Change /TN "%task_name%" /DISABLE>nul 2>&1
exit /b
Еще стоит обратить внимание на HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\CA\Certificates\FEE449EE0E3965A5246F000E87F DE2A065FD89D4
Если ставится NET, без некоторых обновлений винды (
https://support.microsoft.com/en-us/help/2661254) на длину ключа, есть шанс в 0.000000001%, что похачат
