Windowsについて詳しく解説します
- レジストリに格納されている「S-1-5-****」で始まるようなIDは何?
- このSIDが、どのユーザアカウントを示しているのかを確認したい
- 紐づけを確認する具体的な手順を教えて!
この記事では、以上の疑問にお答えします。
Windowsの設定値などをレジストリキーから調べる場合に、キーによってはユーザアカウントごとに独立した設定となっている場合があります。
そのユーザアカウントの数だけ、個別設定を格納しているレジストリキーが複数存在します。
特定のユーザアカウントのレジストリキーを調べようとしたときに困ることなのですが、レジストリ内ではユーザアカウントはSIDという個別のIDで表示されるようになっています。
そのSID自体は数値の羅列のため「このレジストリはどのユーザアカウントなのか?」というのが一目でわからない仕様になっているのですね。
そのSIDと実際のユーザアカウント名の紐づけがわかれば、どのSIDがどのユーザのレジストリキー設定なのかがわかるので、その紐づきの情報を調べてみました。
この記事では、SIDとユーザーアカウントを紐づける方法について解説しています。
あわせて読みたい
この記事のポイント!
- SIDはユーザごとにユニークなものが付与される
- レジストリエディタでSIDとユーザの紐づけを確認可能
- HKEY_USERS\[SID]からユーザごとの個別設定も確認・変更可能
SIDの実例
先ず実際のSIDですが、このような数列で記述されます。
S-1-5-21-3799544983-2651198241-1005135883-1001
上記の値がどのドメインのどのコンピュータのユーザアカウントなのかを示す個別のIDです。
このIDが他のユーザーアカウント一致することは基本的にありません。
新規ユーザアカウントを作り直しても、上記のSIDと一致するものではないようです。
つまり、完全にユニークなIDだということですね。
SIDとは
SIDとはセキュリティ識別子(Security Identifier)という名称で、ユーザやグループ、コンピュータなどを識別するためのIDです。
ここではユーザーアカウントでのSIDをご紹介していますが、それ以外にもユーザグループやコンピュータなどにも割り当てられます。
S-1-5-21-3799544983-2651198241-1005135883-1001
SIDは、以下のような形式で構成されています。
- S: これはSIDであることを示す文字
- 1: SIDのバージョン番号(通常は1)
- 5: SIDの種類(5は通常のユーザーやグループ)
- 21: 発行元機関を識別する番号
- 3799544983-2651198241-1005135883: ドメインやコンピューターを識別するID
- 1001: 個々のユーザーやグループのID
SIDとユーザーアカウントの紐づけを確認する方法
さて、SIDがどのユーザアカウントと紐づいているかどうかを確認するには、「Usersのフォルダのどこを指定しているか」を確認することで判別可能です。
具体的には、下記のレジストリキーを確認します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\[sid]
上記レジストリ内のProfileImagePathの値を確認すると、C:\Users\[ユーザ名という形で値が入力されています。
この[ユーザ名]部分が実際のユーザアカウントと紐づく部分となるわけですね。
ProfileImagePathの指定先はWindowsのバージョンによって異なり、例えばWindows XPだと、Document and Settingsフォルダ内のパスが指定されています。
【参考】設定値の格納先
参考までに、ユーザごとの個別設定は、以下のレジストリキーの中に格納されています。
HKEY_USERS\[sid]
この中身には、例えば以下のようなレジストリ設定が入力されています。
必要に応じて、設定値を確認してみてください。
HKEY_USERS\[SID]\Software
ユーザーがインストールしたソフトウェアの設定
HKEY_USERS\[SID]\Control Panel
ユーザーのコントロールパネル設定(例:ディスプレイの設定、マウスの設定など)
HKEY_USERS\[SID]\Environment
ユーザーごとの環境変数の設定
HKEY_USERS\[SID]\Keyboard Layout
ユーザーが設定したキーボードレイアウトや言語設定
HKEY_USERS\[SID]\Network
ユーザーのネットワーク接続の設定(例:Wi-Fi設定、VPN設定など)
総括
以上、レジストリのSIDとユーザアカウントの紐づけを確認する方法でした。
この記事のポイント!
- SIDはユーザごとにユニークなものが付与される
- レジストリエディタでSIDとユーザの紐づけを確認可能
- HKEY_USERS\[SID]からユーザごとの個別設定も確認・変更可能
SIDからユーザアカウントを認識する場面は少ないかもしれませんが、WindowsPCを扱う管理者の立場の場合、この紐づけ方法を知っておくと、何かと便利な場面があるかもしれません。
特に、Windowsの設定値がレジストリに格納されているかが、一発で確認できると便利ですよね。
数十台のWindowsPCなどを取り扱う場合には、このようにレジストリの値を自動的に取得することで、効率的に設定確認や変更などが可能そうです。
もちろんレジストリエディタでの操作になりますので、自己責任にて、色々、活用してみてください。
以上、ご参考までに。
それでは!