windowsのレジストリのSIDが複数表示される。
ユーザーが1人しかいないwindows XP, Vista 32bit, 7 64bit上でレジストリのHKEY_USERSのSIDが複数表示された。
Microsoft supportのによると、Windows NT 4.0 の仕様によるもので、レジストリ エディタ (Regedt32.exe) を起動すると、.default および現在ログオン中のユーザーのセキュリティID(SID)のほかに複数のSIDが表示される場合があり、この仕様により、レジストリのHkey_Current_User 部分に、サービス アカウントからアクセスできるようになったとのこと。
このなごりで、NT系のOSではSIDが複数表示されるのであろうか?
どのSIDがユーザーアカウントで、上記の仕様で生成されたものかは、このレジストリキーを見ればいい。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\[sid]\ProfileImagePath
これで知った。
多分、一番長いSIDがユーザーアカウント。
ちなみにユーザーアカウント以外のSIDのProfileImagePathには
XP 32bit
%systemroot%\system32\config\systemprofile
%SystemDrive%\Documents and Settings\LocalService
%SystemDrive%\Documents and Settings\NetworkService
Vista 32bit
%systemroot%\system32\config\systemprofile
%SystemRoot%\ServiceProfiles\LocalService
%SystemRoot%\ServiceProfiles\NetworkService
7 64bit
%systemroot%\system32\config\systemprofile
C:\Windows\ServiceProfiles\LocalService
C:\Windows\ServiceProfiles\NetworkService
の値があった。
Windows7の64bitでは%SystemRoot%や%SystemDrive%に相当するところがC:\Windows\に変わった様子。