Мой предпочтительный метод заключается в использовании Active Setup. Что он делает, это проверяет, когда пользователь входит в систему на компьютере, выполнил ли он конкретный сценарий или команду (например, ту, которая у вас была бы), и если нет, запустите его. Таким образом, вы будете запускать определенный сценарий для пользователя только один раз на его рабочей станции. Я обнаружил, что это идеально подходит для записи в HKCU, поскольку вам не нужно загружать каждый улей, а изменяются только те учетные записи, в которые входят пользователи.
Не для саморекламы, но я написал в блоге об этом. Основное решение заключается в следующем:
Добавьте следующие записи реестра:
[HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\UniqueID]
"Version"=""
"Stubpath"=""
@=""
- Вы можете выбрать любой уникальный идентификатор, который вы хотите. GUID часто используются, но вы можете использовать все, что будет уникальным.
Version
какой бы номер версии вы не хотели использовать.
Stubpath
это команда, которая будет выполнена. Все вызовы MSI, EXE и VBS кажутся нормальными.
- Это
@
то, что должно отображаться при выполнении команды.
При таком решении язык сценариев не имеет значения. Вы можете сделать VBScript, Powershell, Batch file. Все, что позволяет писать в HKCU как зарегистрированный пользователь. Использование reg.exe
напрямую работает также хорошо.
Другим необязательным последним штрихом, который вы можете сделать, является загрузка и изменение пользовательского Hive по умолчанию. Это установит значение реестра для любых новых пользователей, которые впервые подключаются к этой конкретной системе.