Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Boa Soft

Компьютерный шаман


Сообщения: 2910
Благодарности: 956

Профиль | Сайт | Отправить PM | Цитировать


Цитата .Hack:
То есть в дефолте все верно, а когда создаешь нового пользователя, то откуда-то появляются эти стандартные ярлыки
И реестр из дефота в нового пользователя переносится частично. Думал что после sysprep все подтирается, но из готового вим-файла вытащил реестр дефолта, там все мои твики есть. Также в установленной системе решил проверить реестр дефолта, там тоже все твики есть. Так почему же при создании нового пользователя все так выборочно реестр переносится из дефолта? »
При первом входе отрабатывают компоненты ActiveSetup. Из них и перекрываются настройки. Можно обмануть систему, с помощью твика реестра указав, что эти компоненты уже выполнены. Но, это надо делать очень акуратно, так как могу быть не выполнены некотрые нужные действия.

Вот наваял скриптик для выборочного копирования реестра и папок текущего пользователя в дефолтного пользователя.

Код: Выделить весь код
@echo off
SetLocal EnableExtensions EnableDelayedExpansion

set ExcludeKeyList=Classes, Microsoft, Policies

if exist tmp.reg del tmp.reg
if exist alltmp.reg del alltmp.reg
if exist def.reg del def.reg

echo ќЄЇ®ав ॥бва* ў ¤Ґд®«в*л© Їа®дЁ«м

chcp 1251 > nul

For /F "UseBackQ skip=1 tokens=* Delims= " %%I In (`reg query "HKCU\SOFTWARE"`) do (
  set scip= 
  if "%%I"=="" set scip=1 
  for %%K In (%ExcludeKeyList%) do (
    if "HKEY_CURRENT_USER\SOFTWARE\%%K"=="%%I" set scip=1
  )
  if not "!scip!"=="1" (
     echo %%I
     reg export "%%I" tmp.reg >nul
     type tmp.reg >> alltmp.reg
     del tmp.reg 
  )
)

echo Windows Registry Editor Version 5.00 > def.reg
For /F "Delims=<!|&> EOL=>" %%I In ( alltmp.reg) Do (
   Set line=%%I
   If "!line:~0,1!"=="[" (
     echo. >>"def.reg"
     If "!line:~0,18!"=="[HKEY_CURRENT_USER" (
      Set line=[HKEY_LOCAL_MACHINE\TMPKEY_DEFAULT!Line:~18,255! 
     )
   )
   if "!line!"=="Windows Registry Editor Version 5.00" (
     set line=
   )
   if not "!line!"=="" echo !line!>>"def.reg"
 )

chcp 866 > nul

del alltmp.reg > nul

reg load HKLM\TMPKEY_DEFAULT "%USERPROFILE%\..\Default\NTUSER.DAT" > nul
reg import def.reg > nul
reg unload HKLM\TMPKEY_DEFAULT > nul

del def.reg > nul

echo Љ®ЇЁа®ў**ЁҐ д*©«®ў ў ¤Ґд®«в*л© Їа®дЁ«м
xcopy /E /I /Q /H /R /V /Y /C /EXCLUDE:exclude.dat "%USERPROFILE%\AppData\*.*" "%USERPROFILE%\..\Default\AppData\"
Содержимое файла exclude.dat:

Код: Выделить весь код
\AppData\Local\Application Data
\AppData\Local\ApplicationHistory
\AppData\Local\History
\AppData\Local\Microsoft
\AppData\Local\Microsoft_Corporation
\AppData\Local\Temp
\AppData\Local\Temporary Internet Files
\AppData\Local\VirtualStore
\AppData\Local\WindowsUpdate
\AppData\Local\IconCache.db
\AppData\Local\GDIPFONTCACHEV1.DAT
\AppData\Local\fusioncache.dat
\AppData\LocalLow\Microsoft
\AppData\LocalLow\Temp
\AppData\Roaming\Identities
\AppData\Roaming\Media Center Programs
\AppData\Roaming\Microsoft

Скрипт уже вполне рабочий, но требует дополнительного тестирования.

-------
Человеческая лень - главная движущая сила технического прогресса.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:22, 28-07-2010 | #32