Доступ к% appdata% на удаленном компьютере .NET openremotebasekey - PullRequest
1 голос
/ 12 февраля 2011

Я пытаюсь получить доступ к «AppData» пользователя на удаленном компьютере.У меня есть все необходимые права.Я попробовал это:

r = RegistryKey.OpenRemoteBaseKey(RegistryHive.Users, MachineName)
r.OpenSubKey(SIDValue & "\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders")
AppData = r.GetValue("AppData")

Дело в том, что он извлекает мою собственную папку appdata ... На самом деле значение SID учетной записи на удаленном компьютере и на моем совпадает (я нахожусь в домене),Я не знаю, является ли это причиной, по которой я получаю свою собственную папку appdata.

Как мне поступить?

Когда я просматриваю HKEY_Local_Machine, мне удается получить информацию об удаленном компьютере..Но не при просмотре HKEY_USERS.

1 Ответ

0 голосов
/ 13 февраля 2011

Я нашел ответ сам, спасибо ... Для тех, кто интересуется, как это сделать, вот как я это сделал:

Поскольку просмотр через HKLM дал мне хорошие данные (данные на удаленном компьютере), я просто искал значение systemroot, которое находится в HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion. Получение appdata выполняется таким образом после:

systemdrive = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, _
                                                           MachineName).OpenSubKey("Software\Microsoft\Windows NT\CurrentVersion").GetValue("SystemRoot").ToString.Substring(0, 3)

Тогда для Windows XP:

appdata = systemdrive & "Documents and Settings\" & username & "\Application Data"

Для Windows 7:

appdata = systemdrive & "Users\" & username & "\AppData\Roaming"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...