Назад | Перейти на главную страницу

Лучший способ добавить ключи и значения HKCU для всех существующих пользователей и всех новых пользователей?

Мне нужно добавить ключи и значения HKCU на все машины в определенном подразделении, для всех существующих профилей пользователей и в профиль по умолчанию. Как лучше всего подойти к этому?

Я мог бы перечислять и перебирать все файлы NTUSER.DAT, загружая улей, добавляя ключи и выгружая улей, но это кажется неуклюжим способом сделать это.

У кого-нибудь есть идея получше? Я хотел бы создать сценарий (желательно PowerShell) и, если возможно, внести изменения, но сценарии входа в систему с групповой политикой тоже будут работать.

Я предпочитаю использовать Active Setup. Что он делает, так это проверяет, когда пользователь входит в систему, выполнил ли он определенный сценарий или команду (например, ту, что у вас есть), а если нет, выполняет ее. Таким образом, вы запускаете определенный сценарий для пользователя только один раз на его рабочей станции. Я обнаружил, что это идеально подходит для записи в HKCU, потому что вам не нужно загружать каждый улей, и изменяются только учетные записи, в которые люди входят.

Не для саморекламы, но я написал Сообщение блога об этом. Базовое решение следующее:

Добавьте следующие записи в реестр:

[HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\UniqueID]
"Version"=""
"Stubpath"=""
@=""
  • Вы можете выбрать любой уникальный идентификатор, который хотите. Часто используются GUID, но вы можете использовать все, что будет уникальным.
  • Version какой номер версии вы хотите использовать.
  • Stubpath это команда, которая будет выполнена. Вызовы MSI, EXE и VBS кажутся нормальными.
  • В @ это то, что должно отображаться при выполнении команды.

В этом решении язык сценариев не имеет значения. Вы можете сделать VBScript, Powershell, пакетный файл. Все, что позволяет вам писать в HKCU как зарегистрированный пользователь. С помощью reg.exe напрямую тоже отлично работает.

Другой, необязательный последний штрих, который вы можете сделать, - это загрузить и изменить пользовательский Hive по умолчанию. Это установит значение реестра для всех новых пользователей, которые впервые входят в эту конкретную систему.

Вы можете добавить настраиваемые ключи reg, создав настраиваемый файл adm и импортировав его как шаблон в раздел «Административные шаблоны» объекта групповой политики. Затем свяжите этот GPO со своим OU. Есть документы в MS о том, как это сделать, или вы можете посмотреть файлы ADM, которые уже существуют на сервере (я думаю, где-то под Sysvol).

Этот процесс называется «татуировкой реестра» и означает, что вы не можете контролировать удаление групповой политики, т.е. записи reg останутся, даже если политика будет удалена. Вам необходимо создать «перевернутый» ключ реестра и развернуть его (или просто удалить).