新規ユーザー作成時に、指定のレジストリキーと値を設定しておきたい

もくじ
https://tera1707.com/entry/2022/02/06/144447

やりたいこと

Windowsのユーザーを新しくつくるときに、

作ったその新しいユーザーが、指定のレジストリキーと値を持った状態で出来てきてほしい。

そのユーザーの「HKCU」が、新しいユーザー作成時にできてくるので、

そのベースとなるレジストリの見本?みたいなのがあるはず?調べてみる。

やったこと

こちらのページに、調べたいことがすべて書いてあった。

上記ページによると、C:\Users\Default\NTUSER.DAT が、その「ベースとなるレジストリの見本」らしい。

そのDATファイルを書き換えてあげると、新規ユーザー作成時のレジストリの値を変えることができる。

※見本はそこ(Default)にあって、各userごとのHKCUの値は、C:\Users\<ユーザー名>\NTUSER.DAT にある様子。

NTUSER.DATの書き換え方(regedit使用)

NTUSER.DATレジストリ内にロードする

レジストリエディタを開いて、「HKEY_USERS」を選んだ状態にして、

[ファイル] > [ハイブの読み込み] を選択する。

ファイル選択ダイアログが開くので、そこでC:\Users\Default\NTUSER.DATを選択して開く。

ファイルを選ぶと、キー名を入力するダイアログが出るので、好きな名前を入力する。

そうすると、選んでいたHKEY_USERSの下に、入力した名前のキーができている。

この中に、標準の(新規ユーザー作成時のレジストリのキーと値の素になる)ものが入っている。

※「HKEY_USERS」を選んだ状態でハイブを読み込むのは、「HKEY_USERS」の下に読み込んだレジストリを入れるため。

別に「HKEY_LOCAL_MACHINE」を選んで、その下にハイブを読み込んでも問題はないっぽいが、「ユーザーのレジストリ」を作るという意味で、(あと参考にしたサイトがそうだったので)「HKEY_USERS」にしてみた。

編集する

そうして開いたハイブの中のキーと値を、好きに編集する。

NTUSER.DATをアンロードする

編集し終わったら、レジストリエディタで、先ほど読み込んだキー(今回ならHIVETEST)を選択し、

[ファイル] > [ハイブのアンロード]

を選択する。

これで、レジストリエディタの表示上から消える。

以上で、編集は終了。

次回新規ユーザー作成時、今編集したレジストリのキーと値を持って、ユーザーのHKCUが作成される。

NTUSER.DATの書き換え方(regコマンド使用)

コマンドプロンプトでregコマンドを使って、↑と同じことをやってみる。

※cmdは、管理者で起動しておくこと。

NTUSER.DATレジストリ内にロードする

下記のコマンドで、レジストリにハイブをロードする。

reg load HKEY_USERS\HIVETEST C:\Users\Default\NTUSER.DAT

レジストリエディタでやったときと同じように、HKEY_USERSの下に、入力した名前のキーができている。

編集する

下記のようなコマンドで、レジストリを編集する。

今回は、下記にキーと値を追加した。

reg add HKEY_USERS\HIVETEST\SOFTWARE\MYCOMPANY\MYPRODUCT /v MYVALUE /t REG_DWORD /d 10

レジストリエディタでみるとこんな感じ。

NTUSER.DATをアンロードする

下記コマンドで、ロードしたハイブをアンロードする。

reg unload HKEY_USERS\HIVETEST

これで、レジストリ上から、HIVETESTというキーが消える。

新しいユーザーを作る

上の2つのやり方(regedit使用 / regコマンド使用)のどちらかで、新規ユーザー作成時のレジストリ値の素になるハイブを編集した後、新しいユーザーを作成すると、新しいユーザーのHKCU(HKEY_CURRENT_USER)に、追加/編集したレジストリキーと値が追加されている。

参照

Windowsの新規ユーザーの設定をあらかじめ変更しておく方法

https://note.shiftinc.jp/n/n354249f4e57c

regコマンド

https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/reg