もくじ
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