Windowsで別のユーザーのAppDataフォルダを知る方法とか

ちょっと仕事?で必要になったのだけど、わからなかったのでゆるぼしてみたら、プロフェッショナル(笑)な @tyappi さんと @aetos382 さん、 @YuneKichi さんが答えてくれました。 てか、寝ている間に答えてくれていたと思ったらその間でいろんな議論が交わされていたようで…とても参考になったのでまとめてみました。
2
ちゃっぴ @tyappi

あれ! Windows 7 だと HKCU に ShellFolder が無いんじゃないか?

2010-08-24 01:57:17
あえとす @aetos382

%USERPROFILE% は HKLM から手に入るけど、%APPDATA% は User Hive をロードしないと得られないのか。 [TWNv950]

2010-08-24 01:57:29
ちゃっぴ @tyappi

確か、ShellFolder に関する registry key 2 つあったと記憶しているけど見つからないな~。

2010-08-24 01:58:11
あえとす @aetos382

Hive をロードすんの面倒だから HKU から探ればいいんじゃないだろうか。それならマネージだけでできそうだ [TWNv950]

2010-08-24 02:02:05
あえとす @aetos382

@tyappi User Shell Folder だね。HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders [TWNv950]

2010-08-24 02:02:35
ちゃっぴ @tyappi

@aetos382 そうそう。そこと HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

2010-08-24 02:04:25
ちゃっぴ @tyappi

@aetos382 Log on していないと hive は load されていないよ。

2010-08-24 02:05:11
大久保雄介 (YuO) @YuneKichi

@PrincePOPI とりあえず,こんなの見つけました。 http://msdn.microsoft.com/en-us/library/ee886409(VS.85).aspx まだ試してないので,今から試します。

2010-08-24 02:05:23
あえとす @aetos382

@princepopi というわけで、ユーザー名(とドメイン名)がわかっていてパスワードがわからないユーザーの APPDATA のパスを特定する手順をまとめてみよう [TWNv950]

2010-08-24 02:05:35
あえとす @aetos382

@princepopi 管理者権限で実行するのは前提として [TWNv950]

2010-08-24 02:05:54
ちゃっぴ @tyappi

@aetos382 片方が移動 user profile で片方がその cache どっちがどっちだか忘れた。

2010-08-24 02:06:00
あえとす @aetos382

@tyappi それ使うなって書いてあるじゃん [TWNv950]

2010-08-24 02:06:02
あえとす @aetos382

@Princepopi NTAccount http://bit.ly/9XySf3 のインスタンスを作って、Translate メソッドで SecurityIdentifier を得る [TWNv950]

2010-08-24 02:07:05
あえとす @aetos382

@Princepopi SecurityIdentifier.Value が SID と呼ばれる値。 [TWNv950]

2010-08-24 02:08:17
あえとす @aetos382

@Princepopi Registry.Users.OpenSubKey http://bit.ly/aIRiQ6 で、HKEY_USERS\<SID>\Software\Microsoft\Windows\Explorer\User Shell Foldersを開き

2010-08-24 02:09:29
あえとす @aetos382

そこの AppData なり Local AppData なりがお望みのものかと [TWNv950]

2010-08-24 02:09:54
あえとす @aetos382

@tyappi RegLoadKey で強引にロードできないっけ [TWNv950]

2010-08-24 02:10:08
ちゃっぴ @tyappi

@aetos382 試してないからわかりません。

2010-08-24 02:10:51
あえとす @aetos382

@tyappi あれ? ログインしてないと HKEY_USERS 以下にキーがないってこと? [TWNv950]

2010-08-24 02:12:44
ちゃっぴ @tyappi

@aetos382 です。QT @aetos382 ログインしてないと HKEY_USERS 以下にキーがないってこと?

2010-08-24 02:13:31
ちゃっぴ @tyappi

@aetos382 もしくは別途明示的に load することが必要。

2010-08-24 02:15:31
あえとす @aetos382

@tyappi パスワードがわかんないからログインはできないので、Load するしかないね [TWNv950]

2010-08-24 02:17:42
ちゃっぴ @tyappi

@aetos382 ようやく見つかった。Local cache は Shell Folders の方。http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?

2010-08-24 02:19:02