Ребята, я сделал так:
В файл AutoUnattend.xml в FirstLogonCommands добавил команду:
Код:

<SynchronousCommand wcm:action="add">
<Order>25</Order>
<CommandLine>cmd /c shutdown.exe /r /t 30 /c "Компьютер перезагрузится для успешного завершения настройки Windows."</CommandLine>
</SynchronousCommand>
Батник переделал так:
Код:

@echo off
timeout 25
:: Импорт твиков реестра
start /wait regedit /s %DiskRoot%\Win7ProSP1\Install\hkcu.reg
exit
Переустановил систему и вот, что выяснилось:
Загрузка рабочего стола началась и шла в обычном порядке, и ничего ей не мешало, и никаких окон не появлялось.
И только после того как загрузка рабочего стола закончилась появились окна:
1. Консольное батника с обратным отсчётом "осталось 7 секунд".
2. Системное "Компьютер перезагрузится для успешного завершения настройки Windows.".
Затем изчезло окно батника, через пару секунд изчезло системное окно и пошла перезагрузка. После перезагрузки выяснилось, что всё отлично сработало. Правильно ли я сделал?
Системное окно имеет симпатичный вид, а вот окно батника страшное. Думаю, его нужно либо скрыть, либо свернуть.
Но возможно существует способ отследить окончание загрузки рабочего стола? Тогда отпадёт необходимость в таймауте, да и перезагрузку можно будет сделать без всяких окон?
Спасибо.