2011-02-12 61 views
1

我试图访问远程计算机上的用户的“AppData”。我拥有所有需要的权利。我尝试这样做:在远程计算机上访问%appdata%.NET openremotebasekey

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

的事实是,它获取自己的应用程序数据文件夹...其实遥远的计算机上的帐户的SID值和我的是一样的(我是一个域)。我不知道这是为什么我得到我自己的appdata文件夹。

我该如何继续?

当我浏览HKEY_Local_Machine时,我设法获得有关远程计算机的信息。但不能在浏览HKEY_USERS时使用。

回答

0

,我发现自己的答案,谢谢... 对于那些有兴趣谁到如何做到这一点,这是我如何做的:

通过HKLM浏览没给我好DATAS(那些上远程计算机),我刚刚搜索了HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion中的systemroot值。 检索应用程序数据是这样做的方式后:

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"