PDA

Показать полную графическую версию : Подмена 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, вторая же переименовывала и запускала его автоматом. Тебе нужна первая. Если разберешся, то первый пользоатель уже будет на основе твоих настроек.

Aushkin
24-12-2006, 02:31
А можно ли заменить всю папку 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
Жизнеспособно или есть поравки и дополнения?
Можно в батник добавить так же сразу и создание нового пользователя с последующей перезагрузкой.
Не тестировал, но мне кажется должно сработать, если ошибаюсь, поправьте.

Vadikan
24-12-2006, 09:40
Aushkin
GuiRunOnce не годится (равно как и RunOnceEx)- они срабатывают при первом входе в систему, а значит первый пользователь войдет с дефолтными настройками пользователя Default User, если считать произошедшее у Danila-GFX нормальным поведением по причине, озвученной Boa Soft. Ну если Т-12 не работает, есть еще Т-9 - [SetupParams] (см. ref.chm).

Aushkin
24-12-2006, 15:01
А если первый вход осуществляется автоматически под встроенной учеткой администратора, отрабатывает GuiRunOnce, устанавливаются все нужные приложения, а в конце отрабатывает предложенный мной вариант, который заканчивается созданием нового юзера и последующей перезагрузкой?
В таком варианте, если я верно понимаю, и вновь созданный пользователь и все последующие уже получают нужные настройки? Исключение составит только встроенная учетка администратора, верно, или не совсем?

Или же, если я верно понял, можно добавить в Winnt.sif дополнительно:

[SetupParams]
UserExecute="%SYSTEMDRIVE%\Install\DEFUS.EXE"

И тогда на T-9 отработает SFX, как следствие все пользователи уже подхватят нужный профайл и в этом случае также не требуется дополнительного экспорта HKLU.reg, так как все параметры и так подхватятся из дефолтного профиля?

Vadikan
24-12-2006, 21:08
Aushkin
В теории оба варианта описаны верно (во втором случае речь, видимо, идет о HKCU.reg, а не о HKLU.reg). Осталось проверить на практике и сообщить нам о результатах ;)

Aushkin
15-01-2007, 00:02
Проверил.
Вариант с [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, с этим батником всё отработало правильно.

coolD
16-12-2009, 17:15
DEFUS.EXE где это взять?

fox_cub
22-12-2009, 16:53
DEFUS.EXE где это взять?
Это заархивированная папка default user

semiono
23-12-2009, 21:15
Подскажите, а где взять 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"

Vadikan
24-12-2009, 09:45
Подскажите, а где взять All Users... чтобы переименовать? »
Поясните, чего вы хотите добиться и что это вам даст.




© OSzone.net 2001-2012