2011-02-12 97 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"