因此,我有一個小型的C#應用程序需要定期檢查網絡上多臺機器上的目錄內容。我以爲我可以只讀\ hostname \ C $作爲目錄路徑,但對於普通的Directory類,似乎沒有辦法對其他服務器進行身份驗證,因此您可以訪問隱藏的共享。 我確信有一個簡單的方法可以做到這一點,我忽略了,但目前我有點失落。在C中閱讀隱藏的共享#
7
A
回答
6
從http://bytes.com/forum/thread689145.html:
在 登錄的用戶帳戶的上下文中運行的所有進程。如果您想要在另一臺計算機上打開文件 ,則您的 應用程序必須在具有權限 的用戶上下文中運行,該用戶才能在該計算機上打開文件。你可以 與模擬做到這一點。
最簡單的方法似乎是給當前用戶在其他機器上的適當權利。
+1
這也是最好的方法,因爲它不需要在軟件中處理認證(這很容易出錯)。 – Luke 2008-09-26 15:30:16
0
您是否在尋找一種在運行時設置當前用戶的方法?
如果沒有,只要運行該過程的用戶訪問這些計算機,這會爲你工作:
DirectoryInfo di = new DirectoryInfo(@"\\machineName\c$\temp");
FileInfo[] files = di.GetFiles();
foreach (FileInfo f in files)
{
Debug.WriteLine(f.Name);
}
2
要與份額,其在運行過程中,用戶沒有權限驗證(這往往是管理共享的情況下),嘗試運行net use命令:
net use SERVERNAME\IPC$ /user:USERNAME PASSWORD
嘗試在實際上試圖訪問共享的代碼之前一個單獨的進程運行此,如:
ProcessStartInfo psi = new ProcessStartInfo(
"net", "use " + SERVERNAME + @"\IPC$ /user:" + USERNAME + " " + PASSWORD);
Process p = new Process();
p.StartInfo = psi;
p.Start();
p.WaitForExit();
p.Close();
// The code to access the share follows...
如果不適合爲運行該流程的用戶帳戶授予共享權限,則此功能非常有用,例如,對於最終用戶應用程序需要訪問用戶本人不應直接訪問的共享數據的安全模型。
相關問題
- 1. 閱讀C#中的共享權限
- 2. 閱讀隱藏值
- 3. 閱讀共享加載項中的app.config
- 4. 閱讀隱藏文件
- 5. 閱讀asp.net中隱藏的控制值
- 6. 閱讀Word中的隱藏文本
- 7. 在共享庫的公共接口中隱藏boost :: serialization
- 8. 閱讀共享文件的內容
- 9. 在API中隱藏公共類c#
- 10. 閱讀Google Drive中公共共享文件的內容
- 11. 閱讀隱藏的zip文件
- 12. 屏幕閱讀器的隱藏目錄
- 13. 從共享列表中隱藏自己的隱含意圖
- 14. 閱讀數組共享首選
- 15. 閱讀GPU-Z共享內存
- 16. 如何隱藏上次共享圖標?
- 17. Vue js 2隱藏共享組件
- 18. 用C#閱讀隱藏的網站文本框?
- 19. 隱藏URL參數和閱讀
- 20. 隱藏EDITTEXT從RFID閱讀器
- 21. C++從共享內存中讀取
- 22. 閱讀javascript中代碼清單的值在代碼隱藏
- 23. 如何隱藏公共共享GitHub的個人信息?
- 24. 我正在使用fopen閱讀共享位置,但無法閱讀?
- 25. 我可以在共享庫中隱藏或刪除類名嗎?
- 26. 如何隱藏Xcode中共享文件夾中的sqlite文件
- 27. Facebook的共享隱藏在PhoneGap的插件
- 28. 如何使用swift隱藏QLPreviewController中的共享按鈕?
- 29. 隱藏Safari瀏覽器控制器中的共享選項
- 30. 隱藏ASP.NET MVC 4項目中的共享文件夾
這應該工作。你得到的例外是什麼? – 2008-09-26 15:12:15