Показать полную графическую версию : [решено] Применение настроек ветки реестра HKCU для всех новых пользователей
Добрый день, возьмём windows 10 и парочку правок реестра для текущего пользователя в powershell, например
#добавление значка моего компьютера на рабочий стол
Reg.exe add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel" /v "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" /t REG_DWORD /d "0" /f
Reg.exe add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu" /v "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" /t REG_DWORD /d "0" /f
Как видно, он правит HKCU, а значит, для каждого нового пользователя придётся этот скрипт прописывать заного.
Как сделать так, чтобы можно было прописывать подобное 1 раз и эти правки автоматически бы применялись для любого свежесозданного пользователя на этом компьютере?
Править реестр для дефолтного юзера.
А можно точнее, какие ключи, взяв в пример из первого поста?
Тоже самое, тока замени на HKLM\
Если пральна помню, то там такой механизм:
- если есть ключи в HKLM - они применяются для всех.
- если есть в HKLM и в HKCU одинаковые данные - применяется то что записано в HKCU (настройки юзера имеют приоритет при наличии)
zegordo, Вам нужно определить местоположение каталога куста реестра для шаблонного пользователя в параметре Default раздела HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList. Затем найти по этому пути файл куста реестра NTUSER.DAT. Загрузить этот куст из файла в реестр, обычно в раздел HKEY_USERS, дав имя подгруженному разделу. Затем импортировать в этот раздел Ваш файл реестра, либо создать разделы/задать в нём значения искомых параметров. Затем выгрузить ранее загруженный куст из реестра. Примерно так, как это описано в: Применение твиков реестра ко всем учетным записям после установки ОС (http://www.oszone.net/6167), только там — ручками, а Вам нужно будет это делать программно.
Не вздумайте что-нибудь импортировать в раздел HKEY_USERS\.DEFAULT — это отнюдь не шаблонная учётная запись (как может показаться из именования в реестре), а системная — Local System, и профиль её расположен совсем в другом месте, типично — в C:\Windows\system32\config\systemprofile.
Тоже самое, тока замени на HKLM\ »
x0r, данный совет — не из той оперы.
Iska, я так понимаю, загружать куст можно только неактивного пользователя?
Кроме того, не совсем понял что нужно сделать с итоговым кустом реестра после выгрузки, чтобы он применялся ко всем пользователям, создаваемым впоследствии?
и чего вдруг? хочешь сказать что не применится настройка? надо проверить.
еще можно запихнуть этот твой батнег в автозапуск, тудаже в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
и он будет вносить данные для каждого юзера компа.
Iska, я так понимаю, загружать куст можно только неактивного пользователя? »
А Вы собираетесь загружать куст активного пользователя? Зачем?
Кроме того, не совсем понял что нужно сделать с итоговым кустом реестра после выгрузки, чтобы он применялся ко всем пользователям, создаваемым впоследствии? »
Ничего не нужно делать. При первом входе на машину нового пользователя ему копируется профиль того самого шаблонного пользователя.
ему копируется профиль того самого шаблонного пользователя »
C:\Users\Default - по этому мути поменять через загрузку куст реестра и будет для всех новосозданных применяться?
C:\Users\Default - по этому мути »
Не «по этому», а:
Вам нужно определить местоположение каталога куста реестра для шаблонного пользователя в параметре Default раздела HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList. Затем найти по этому пути файл куста реестра NTUSER.DAT. »
В предыдущих ОС путь был другой. В какой-нибудь новой версии ОС или с очередным обновлением Windows 10 путь внезапно™ может поменяться. Посему — опрашиваете указанный раздел и параметр реестра, берёте оттуда REG_EXPAND_SZ и только потом используете.
поменять через загрузку куст реестра и будет для всех новосозданных применяться? »
Да. Причём не только для новосозданных, но и для уже созданных, но ещё ни разу не регистрировавшихся на машине пользователей. Применяться (точнее — целиком копировать профиль, включая пользовательские части реестра) будет в момент их первого входа.
Iska,, если я правильно понял, то чтобы настройки применялись ко всем в будущем созданным пользователям, нужно брать путь строго из этого ключа?(т.е. прописать в скрипте захват пути именно из него)
http://i.imgur.com/f2ym7ZS.jpg
В целом получается так:
скрипт берёт путь, загружает из него куст реестра, правит этот куст и загружает обратно, верно?
Если всё верно, то второй вопрос.
Пользователь создаётся с настройками, которые не всегда можно править через реестр. например панель быстрого доступа
http://i.imgur.com/hAFaqYU.jpg
а так же, ярлыки рабочего стола и панели задач(возле пуска)
Возможно ли это сделать через загрузку куста реестра, или эти настройки уже не хранятся в реестре?
нужно брать путь строго из этого ключа?(т.е. прописать в скрипте захват пути именно из него) »
Да.
скрипт берёт путь, загружает из него куст реестра, правит этот куст и загружает обратно, верно? »
Верно. Только в конце не загружает обратно, а выгружает. При этом, под каким именем Вы загрузили куст — то имя и используете в пути:
В диалоговом окне Загрузка куста реестра укажите имя, которое будет присвоено разделу реестра, содержащему загруженный куст (в этой статье используется имя Custom)
Внесите необходимые изменения в загруженный раздел реестра. На скриншоте ниже производится изменение параметра, отвечающего за скорость открытия элементов меню Пуск
http://www.oszone.net/user_img/050214130343/profiles03.png
После внесения изменений щелкните левой кнопкой мыши загруженный раздел (Custom) и выберите из меню Файл команду Выгрузить куст
т.е., вместо HKCU\… — HKU\Присвоенное имя\….
Пользователь создаётся с настройками, которые не всегда можно править через реестр. например панель быстрого доступа… »
У меня нет Windows 10. Ничего не могу сказать.
Получился такой код:
#взятие в переменную пути файла куста реестра для дефолтного юзера
$DefaultProfilePath = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList' -Name Default).Default+="\NTuser.dat"
#загрузить куст реестра по этому пути
reg load "hku\DDefault" "$DefaultProfilePath"
#ну и сами правки:
#отмена установки вандрайва для новых пользователей
reg delete "HKEY_USERS\DDefault\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "OneDriveSetup" /f
#снятие галок недавно использующихся файлов и папок на панели быстрого доступа
Reg.exe add "HKEY_USERS\DDefault\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v "ShowRecent" /t REG_DWORD /d "0" /f
Reg.exe add "HKEY_USERS\DDefault\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v "ShowFrequent" /t REG_DWORD /d "0" /f
#остальные правки...
#выгрузка куста реестра
reg unload "hku\DDefault"
как видно обе команды "reg" и "reg.exe" равнозначны, однако это не совсем нативно для павершела, т.к. там используются другие командлеты:
Get/New/Set-Item[Property]
и если использовать их на этот загруженный куст, будут следующие ошибки:
http://i.imgur.com/OgBMojj.jpg
http://i.imgur.com/EVGogsg.jpg
http://i.imgur.com/LSCPCwH.jpg
Где может быть ошибка?
Тут целый вагон ошибок и неверных предположений.
В общем и целом: используйте reg.exe.
Тут целый вагон ошибок и неверных предположений. »
но для редактирования любых других ключей реестра, кроме загруженного куста они работают.
Доступ к HKEY_USERS через провайдера Registry:
Get-ChildItem Registry::HKEY_USERS\.Default
Get-ChildItem Registry::HKEY_USERS\.Default »
zegordo
Не заметил, прозвучало здесь это или нет — но на всякий случай сделаю акцент:
Установкидля каждого нового пользователя »берутся как раз из ключа HKEY_USERS\.Default ("пользователь по умолчанию").
mwz, лучше бы заметили, а ещё лучше - знали бы, что советуете:
Не вздумайте что-нибудь импортировать в раздел HKEY_USERS\.DEFAULT — это отнюдь не шаблонная учётная запись (как может показаться из именования в реестре), а системная — Local System »
Busla, упустил... В семёрке, насколько помню, она как раз и была умолчальной.
mwz, насколько я помню, принцип не менялся с первых NT. И в последних ОС, надо полагать, то же самое.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC