私が推奨する方法は、アクティブセットアップを使用することです。それが行うことは、ユーザーが特定のスクリプトまたはコマンド(実行するものなど)を実行したかどうかをチェックし、実行していない場合は実行することです。そのため、ワークステーションでユーザーに対して特定のスクリプトを1回だけ実行します。これはHKCUへの書き込みに最適であることがわかりました。なぜなら、各ハイブをロードする必要がなく、ユーザーがログインするアカウントのみが変更されるからです。
自己宣伝するわけではありませんが、これを行うことに関するブログ記事を書きました。基本的な解決策は次のとおりです。
次のレジストリエントリを追加します。
[HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\UniqueID]
"Version"=""
"Stubpath"=""
@=""
- 必要な一意のIDを選択できます。GUIDはよく使用されますが、一意になるものなら何でも使用できます。
Version
使用するバージョン番号です。
Stubpath
実行されるコマンドです。MSI、EXE、およびVBSの呼び出しはすべて問題ないようです。
- これ
@
は、コマンドの実行時に表示されるものです。
このソリューションでは、スクリプト言語は無関係です。VBScript、Powershell、バッチファイルを実行できます。ログインユーザーとしてHKCUに書き込むことができるものは何でも。reg.exe
直接使用してもうまくいきます。
もう1つのオプションの最終タッチは、デフォルトのユーザーHiveをロードして変更することです。これにより、その特定のシステムに初めてログオンする新しいユーザーのレジストリ値が設定されます。