Показать полную графическую версию : Подмена NTUSR.DAT в Default User во время установки
Danila-GFX
04-09-2005, 11:08
Я решил попробовать так:
настроил полностью винду, вытащил из своего профиля NTUSER.DAT, подредактировал немного, заменил им родной в Default User. Попробовал зайти новым юзером - все прекрасно, все работает как задумано.
Сделал SFX архив с этим NTUSER.DAT, указал распаковывать без вопросов и перезаписывать файлы, путь для распаковки - %systemdrive%\Documents and Settings\Default User.
И указал запустить его в cmdlines.txt.
Т.е. чтобы не возиться с ключами реестра HCKU, я решил одним махом подменить дефолтовый профиль и все.
Во время установки архив срабатывает (100%), но после установки Default User почему-то оказывается со своим стандартным NTUSER.DAT.
Почему так происходит?
Boa Soft
06-09-2005, 03:00
Попробуй сделать или через GuiRunOnce или через RunOnce. Видимо, профиль полностьюсоздается позже T12, когда отрабатывает CmdLines. Если ставиш драйвера автоматом с подменой Setup.exe, то можно все воткнуть в presetup.cmd, только посмотри, их было две версии. В первой сетап переименовывать и запускать надо из Cmd, вторая же переименовывала и запускала его автоматом. Тебе нужна первая. Если разберешся, то первый пользоатель уже будет на основе твоих настроек.
А можно ли заменить всю папку Default User ещё на этапе установки, что бы что бы не только HKKU, но и ярлыки, ссылки, SendTo и пр. для всех создаваемых пользователей уже были готовы и одинаковы для всех?
Будет ли работоспособным такой вариант:
1. Создаем профиль по умолчанию согласно: http://support.microsoft.com/kb/319974/ru
2. Далее архивируем папку тем же WinRar, в SFX сценарии указываем путь для автоматической скрытой распаковки: %systemdrive%\Documents and Settings\
3. Делаем батник:
REM Удаление исходной папки Default User
RD /S /Q "%systemdrive%\Documents and Settings\Default User"
REM Запуск и распаковка нашего SFX с настроенным профилем
DEFUS.EXE
REM Возвращаем атрибуты папке
attrib +H +S "%systemdrive%\Documents and Settings\Default User"
EXIT
4. Ну и прописываем запуск батника со своими путями в GuiRunOnce
Жизнеспособно или есть поравки и дополнения?
Можно в батник добавить так же сразу и создание нового пользователя с последующей перезагрузкой.
Не тестировал, но мне кажется должно сработать, если ошибаюсь, поправьте.
Aushkin
GuiRunOnce не годится (равно как и RunOnceEx)- они срабатывают при первом входе в систему, а значит первый пользователь войдет с дефолтными настройками пользователя Default User, если считать произошедшее у Danila-GFX нормальным поведением по причине, озвученной Boa Soft. Ну если Т-12 не работает, есть еще Т-9 - [SetupParams] (см. ref.chm).
А если первый вход осуществляется автоматически под встроенной учеткой администратора, отрабатывает GuiRunOnce, устанавливаются все нужные приложения, а в конце отрабатывает предложенный мной вариант, который заканчивается созданием нового юзера и последующей перезагрузкой?
В таком варианте, если я верно понимаю, и вновь созданный пользователь и все последующие уже получают нужные настройки? Исключение составит только встроенная учетка администратора, верно, или не совсем?
Или же, если я верно понял, можно добавить в Winnt.sif дополнительно:
[SetupParams]
UserExecute="%SYSTEMDRIVE%\Install\DEFUS.EXE"
И тогда на T-9 отработает SFX, как следствие все пользователи уже подхватят нужный профайл и в этом случае также не требуется дополнительного экспорта HKLU.reg, так как все параметры и так подхватятся из дефолтного профиля?
Aushkin
В теории оба варианта описаны верно (во втором случае речь, видимо, идет о HKCU.reg, а не о HKLU.reg). Осталось проверить на практике и сообщить нам о результатах ;)
Проверил.
Вариант с [SetupParams] в Winnt.sif не прокатил. Очевидно T-9 профайл Default User уже используется. Батник стартует,
RD /S /Q "%systemdrive%\Documents and Settings\Default User"
не отрабатывает, так как некоторые файлы заняты, соответсвенно и при распаковке DEFUS.EXE возникают проблемы, так как перезаписать занятые файлы тоже невыходит и дальнейшая установка застревает. Пришлось пойти другим путем. Положил DEFUS.BAT и DEFUS.EXE в $OEM$\$$, как следствие они во время установки скопировались в %WINDIR%,
а в самом конце RUNONCEEX.CMD добавил следующее:
REG ADD %KEY%\%i% /VE /D "Создание пользователя User" /f
REG ADD %KEY%\%i% /V 1 /D "DEFUS.BAT" /f
SET /A i+=1
REG ADD %KEY%\%i% /VE /D "Перезагрузка" /f
REG ADD %KEY%\%i% /V 1 /D "shutdown /r /f /t 00" /f
SET /A i+=1
DEFUS.BAT содержит:
cmdow @ /HID
@echo off
RD /S /Q "%systemdrive%\Documents and Settings\Default User"
DEFUS.EXE
attrib +H +S "%systemdrive%\Documents and Settings\Default User"
net user User password /add
net localgroup Администраторы User /add
net accounts /maxpwage:unlimited
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V DefaultUserName /t REG_SZ /D "User" /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V DefaultPassword /t REG_SZ /D password /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V AutoAdminLogon /t REG_SZ /D 1 /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V AutoLogonCount /t REG_DWORD /D 1 /f
EXIT
Вот этот вариант отыграл, как по нотам. Исходный дефолтный профайл удалился, заменился моим, создался новый пользователь, который подхватил уже правильные настройки и комп пошел на перезагрузку. Следующий вход произошел автоматом под пользователем "User", пользовательские настройки всех софтинок действовали, все необходимые ярлыки были на своих местах.
Были грабли, User почему-то сначала оказался с ограниченными правами, но потом я понял, что сохранил батник не в OEM кодировке, и группа "Администраторы" превратилась непонятно во что :-) Пришлось в нормальном редакторе переписать сразу в OEM, с этим батником всё отработало правильно.
DEFUS.EXE где это взять?
Это заархивированная папка default user
Подскажите, а где взять All Users... чтобы переименовать?
Наверное можно в реестре на t12 исправить?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
AllUsersProfile=
Хотя лучше бы где нибудь более радикально?
----
Кажись я нашёл это (конечно, трудно найти то, чего в hivesft.inf изначально вообще не было!)
; HIVESFT.INF
[AddReg]
; hivesft.inf
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","ProfilesDirectory",0x00020002,"%DEFAULT_PROFILES_DIR%"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","AllUsersProfile",0x00000000,"%ALL_USERS%"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","DefaultUserProfile",0x00000000,"%DEFAULT_USER%"
[Strings]
; Shell Folders
DEFAULT_PROFILES_DIR="%SystemDrive%\USERS"
DEFAULT_USER="Default"
ALL_USERS="Public"
Подскажите, а где взять All Users... чтобы переименовать? »
Поясните, чего вы хотите добиться и что это вам даст.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC