Войти

Показать полную графическую версию : [статья] Применение твиков реестра Windows


Страниц : 1 2 3 4 5 6 7 8 9 [10] 11

generator324
05-03-2020, 06:42
geepnozeex,
У меня ЭТО (добавление твика в реестр) чудесно работает через OOBE (OOBE.cmd)...

А сам твик выглядит так:Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout]

[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"1"="00000409"
"2"="00000419"

[HKEY_CURRENT_USER\Keyboard Layout\Substitutes]
"00000409"="00020409"

[HKEY_CURRENT_USER\Keyboard Layout\Toggle]
"Language Hotkey"="2"
"Hotkey"="2"
"Layout Hotkey"="1"


Кстати, тоже пытался внести импорт в подключённый образ, тоже не получилось. Зато получилось через OOBE.cmd (просто создал \sources\$OEM$\$$\Setup\scripts для своих нужд, по аналогии с 7-й), многие вещи удалось реализовать именно через него ;) . Windows 10 LTSC 2019, если что...

geepnozeex
05-03-2020, 09:26
generator324, этого не может быть - HKEY_CURRENT_USER не существует на этапе OOBE.
я использую setupcomplete , но он запускает .reg с параметрами для HKLM

Vadikan
05-03-2020, 12:05
я же писал - что изменения в FirstLogonCommands работают только после перезагрузки. »
Вы писали про какие-то изменения в реестре. Я пишу про внесение изменений с PowerShell.

FLC выполняются в контексте пользователя, а метод ввода по умолчанию - пользовательская настройка, которая вступает в силу сразу (даже без выхода из системы, не говоря уже о перезагрузке).
Демо https://imgur.com/a/e7H8e96

geepnozeex
05-03-2020, 12:46
FLC выполняются в контексте пользователя, а метод ввода по умолчанию - пользовательская настройка, которая вступает в силу сразу (даже без выхода из системы, не говоря уже о перезагрузке). »
клавиатура то русская остаётся по умолчанию , до первой перезагрузки.

Vadikan
05-03-2020, 12:57
клавиатура то русская остаётся по умолчанию , до первой перезагрузки. »
Проверил.
Исходное
В списке языков русский первый, англ второй. Метод ввода по умолчанию - список языков.

Тест
1. Запуск нового cmd - ввод русский
2. Выполнение Set-WinDefaultInputMethodOverride -InputTip "0409:00000409"
3. Запуск нового cmd - ввод английский

Проверять в FLC не буду, это ваша задача.

generator324
05-03-2020, 14:33
этого не может быть - HKEY_CURRENT_USER не существует на этапе OOBE. »
Тем не менее, у меня именно так и работает :) . Систему написал выше.

Anton04
06-03-2020, 19:56
значения введённые сюда не имеют значения для системы - они игнорируются.
писать нужно именно в - HKEY_CURRENT_USER »

Вы не правы, значения записанные тут: HKEY_USERS\.DEFAULT\Keyboard Layout\Preload применяются до входа пользователя, т.е. если в системе несколько пользователей, то для их входа нужно ввести логин и пароль и переключения раскладки и язык по умолчанию для этого нужно прописывать именно в HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

Anton04
06-03-2020, 21:44
[HKEY_USERS\Custom\.DEFAULT\Keyboard Layout\Preload] я так делал , но видимо это не правильно. »

Да не правильно.

Я не понимаю что вы хотите!? Если хотите определённые значения поменять до инсталляции ОС, то распакуйте образ, подключите нужную ветку реестра из него и импортируйте всё что угодно, но я предпочитаю способ внесения изменений при первой входе пользователя в систему.

geepnozeex
05-05-2020, 12:17
Я так понял, что никто не знает как делать импорт в HKEY_USERS\.DEFAULT\

Vadikan
05-05-2020, 12:36
Я так понял, что никто не знает как делать импорт в HKEY_USERS\.DEFAULT\ »
Для начала неплохо бы объяснить, зачем это нужно. Но можно прочесть Как грамотно настроить язык ввода на экране входа в Windows 10 (http://www.outsidethebox.ms/20379/) и узнать, что само по себе изменение в HKEY_USERS\.DEFAULT\Keyboard Layout\Preload ничего не дает. Соответственно, при первом входе администратора все прекрасно настраивается.

Qweezy
17-05-2020, 04:56
Здравствуйте. Пардон если тема не там.
Хочу сделать себе сборку Win7 с автоматическими настройками.
С помощью гугла получилось все что хотел но решение этой проблемы я не нашел.
Импортирую reg файл с твиками на завершении установки Windows 7 через SetupComplete.cmd

Для импорта использую способ Mr. dUSHA
cd /d %~dp0

REG SAVE HKCU C:\Users\Default\bkpCU1st.DAT /y
REG RESTORE HKCU C:\Users\Default\NTUSER.DAT
DEL /F /Q /A C:\Users\Default\NTUSER.DAT*

regedit /s %windir%\Setup\Scripts\Tweaks.reg

REG SAVE HKCU C:\Users\Default\NTUSER.DAT /y
REG RESTORE HKCU C:\Users\Default\bkpCU1st.DAT
DEL /F /Q /A C:\Users\Default\bkpCU1st.DAT
exit

Вроде бы все твики хорошо применяются, кроме этого
;Изъять все программы из Панели задач
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband]
;Не показывать ссылки на программы в Панели задач
"Favorites"=hex:ff
;Удалить записи о закреплённых программах в Панели задач
"FavoritesResolve"=-

В итоге ярлыки в панели задач всё равно остаются.
https://i.ibb.co/PCCmmDM/image.png

Подозреваю что твики применяются без проблем, но на последнем этапе подготовки рабочего стола, при первом входе в систему выполняются команды которые затирают измененные моим твиком параметры в реестре.

Собственно вопрос в том как решить проблему.
Предлагайте любые способы, как через SetupComplete.cmd так и через другие средства (например импорт reg файла в подгруженный реестр из install.wim)
Спасибо.

Mr dUSHA
17-05-2020, 22:06
Предлагайте любые способы »
Предлагаю почитать в целях самообразования:
http://forum.oszone.net/post-815272-364.html
http://forum.oszone.net/post-1649804-550.html

и затем попытаться решить проблему самостоятельно. Так интереснее ;)

Qweezy
18-05-2020, 02:01
Предлагаю почитать в целях самообразования:
http://forum.oszone.net/post-815272-364.html
http://forum.oszone.net/post-1649804-550.html »
Ознакомился. Сперва попробовал удалить из реестра все записи Active Setup (т.е. все GUID)
Затем создал нового юзера, пропал только ярлык IE.
Оставшиеся WMP и Explorer остались на месте.
В голову приходит только создать новый GUID и прописать путь до батника который при первом логине будет применять твики и перезагружать процесс explorer.exe, но ведь если учетка не имеет прав админа то и изменения не применятся в реестре.
Возможно нужно создать для этих 3 приложений заглушку, чтобы их не устанавливало при первом входе.
Пока что забью на эти ярлыки, может ответ найду позже.

Vadikan
18-05-2020, 08:39
В голову приходит только создать новый GUID »
Действительно, ведь именно это предлагается по второй ссылке.
но ведь если учетка не имеет прав админа то и изменения не применятся в реестре »
Так сделайте автологин админа пару раз. При первом входе в RunOnce или RunOnceEx http://www.oszone.net/8610 внесите записи на выполнение команд при втором входе.

geepnozeex
18-05-2020, 17:33
Изъять все программы из Панели задач »
Через реестр это не решается скорее всего.
На десятке я удаляю ярлыки через LayoutModification.xml (http://forum.oszone.net/thread-344348.html)

Qweezy
19-05-2020, 03:24
Через реестр это не решается скорее всего.
На десятке я удаляю ярлыки через LayoutModification.xml »
Спасибо за способ, но я так понимаю работает только на Windows 10 ?
У меня Windows 7, поместил файл LayoutModification.xml по пути Users\Default\AppData\Local\Microsoft\Windows\Shell прямо в смонтированный install.wim
После установки ничего не изменилось :(

Содержимое файла
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout">
<CustomTaskbarLayoutCollection PinListPlacement="Replace">
<defaultlayout:TaskbarLayout>
<taskbar:TaskbarPinList >
<taskbar:DesktopApp DesktopApplicationLinkPath="#leaveempty"/>
</taskbar:TaskbarPinList>
</defaultlayout:TaskbarLayout>
</CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>

geepnozeex
20-05-2020, 15:32
Спасибо за способ, но я так понимаю работает только на Windows 10 ? »
Вероятно.
REG SAVE HKCU C:\Users\Default\bkpCU1st.DAT /y
REG RESTORE HKCU C:\Users\Default\NTUSER.DAT
DEL /F /Q /A C:\Users\Default\NTUSER.DAT*
REG SAVE HKCU C:\Users\Default\NTUSER.DAT /y
REG RESTORE HKCU C:\Users\Default\bkpCU1st.DAT
DEL /F /Q /A C:\Users\Default\bkpCU1st.DAT »
Логика работы данной трихамудии мне не ясна.
А просто -
reg load HKEY_USERS\Custom C:\Users\Default\NTUSER.DAT
reg import X:\HKEY_CURRENT_USER.reg
reg unload HKEY_USERS\Custom
не работает из SetupComplete.cmd ?

Qweezy
22-05-2020, 05:03
Вероятно. »
100%
Я проверил, работает как часы на Windows 10 но не работает на Windows 7.
Логика работы данной трихамудии мне не ясна. »
cd /d %~dp0
REG SAVE HKCU C:\Users\Default\bkpCU1st.DAT /y <<==== Делаем бэкап текущего содержимого ветки HKCU (она на этапе SetupComplete.cmd сопоставлена файлу C:\Windows\System32\config\DEFAULT)
REG RESTORE HKCU C:\Users\Default\NTUSER.DAT <<==== Заменяем всё содержимое текущей ветки HKCU на содержимое из файла C:\Users\Default\NTUSER.DAT
DEL /F /Q /A C:\Users\Default\NTUSER.DAT* <<==== Удаляем старый C:\Users\Default\NTUSER.DAT и его журналы. Они нам больше не пригодятся.
В этой точке идёт установка разнообразного софта и твики во все ветки, в том числе и непосредственно в HKCU.
Важно то, что удаляемое или добавляемое здесь в HKCU распространится потом на ВСЕХ юзеров, созданных в этой системе.
REG SAVE HKCU C:\Users\Default\NTUSER.DAT /y <<==== Мы внесли твики в HKCU и теперь сливаем всё содержимое этой ветки в новый потвиканый файл C:\Users\Default\NTUSER.DAT
REG RESTORE HKCU C:\Users\Default\bkpCU1st.DAT <<==== HKCU восстанавливаем оригинальное содержимое ветки HKCU, которое было до начала этого скрипта.
DEL /F /Q /A C:\Users\Default\bkpCU1st.DAT <<==== Удаляем бэкап, созданный в П.1.
exit »
Я считаю что намного удобнее не разбивать все твики на HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER отдельно, тем более что к ним могут добавиться твики и в HKEY_CLASSES_ROOT и другие, а просто импортировать все твики в одном файле. :)
И насколько я понял в вашем способе импортировать таким способом получилось бы только твики HKEY_CURRENT_USER ? :dont-know
не работает из SetupComplete.cmd ? »
Стабильно только HKEY_LOCAL_MACHINE на мой взгляд, CURRENT_USER многие могут не сработать.

Vadikan
22-05-2020, 08:13
на мой взгляд, CURRENT_USER многие могут не сработать. »
Взгляды тут ни причём, это технический вопрос. Setupcomplete запускается от имени системы, о чём написано на сайте. Поэтому твики HKCU работают, но для системного профиля:)

считаю что намного удобнее не разбивать все твики на HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER отдельно »
Намного удобнее это будет только в одном случае - вы желаете применять твики HKCU только для административной учётной записи, из которой выполняете запись в реестр.

тем более что к ним могут добавиться твики и в HKEY_CLASSES_ROOT »Тем более вам надо почитать
http://www.oszone.net/8597#keys

geepnozeex
22-05-2020, 09:57
И насколько я понял в вашем способе импортировать таким способом получилось бы только твики HKEY_CURRENT_USER ? »
Да, а для HKEY_LOCAL_MACHINE и HKEY_CLASSES_ROOT достаточно самого setupcomplete.
Причём HKEY_CLASSES_ROOT это дубль подраздел HKEY_LOCAL_MACHINE\SOFTWARE\Classes\
Пример команды «Копировать в папку» и «Переместить в папку» в контекстное меню -
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB630-2971-11D1-A18C-00C04FD75D13}]
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB631-2971-11D1-A18C-00C04FD75D13}]
и тоже самое
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB630-2971-11D1-A18C-00C04FD75D13}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB631-2971-11D1-A18C-00C04FD75D13}]




© OSzone.net 2001-2012