2011-08-11 58 views
1

這些文件存在,我可以從我的域授權Windows帳戶中刪除它們,我正在編譯和運行程序。我一直認爲該程序將在網絡驅動器上執行操作時使用該帳戶。這不是這種情況嗎?Directory.Delete - UnauthorizedAccessException

我試圖在Windows中運行.exe文件,這個帳戶可以完全訪問文件夾和文件,並顯示相同的錯誤。如果這個工作正常,或者我需要在代碼中做些事情來讓程序像某個用戶一樣運行某些操作?

目前,我沒有在單獨的線程或後臺工作人員中運行代碼。我只是創建了一個方法,執行以下操作:

Directory.Delete(NetworkDirectory, true); 
Directory.Delete(NetworkDirectoryTwo, true); 

任何答案將不勝感激。

回答

-1

如果您嘗試通過網絡訪問文件/目錄,則需要在網絡共享上設置適當的權限,而不僅僅是在實際文件夾中設置的權限。因此,您的帳戶可能擁有對C:\MyData\*的完全訪問權限,但如果共享爲\\mycomputer\MyData且文件夾以只讀方式共享,則您將獲得UnauthorizedAccessException

+0

我使用的帳戶是一個域管理員帳戶,該帳戶可以完全訪問共享和驅動器。 – Omniabsence

+0

@user因此,您可以成功瀏覽到「\\ mycomputer \ MyData」並通過Windows資源管理器刪除文件夾。 AFAIK,你的程序應該默認使用啓動它的用戶的憑據來訪問網絡資源。 –

+0

我也這麼認爲。奇怪的事情正在發生。是否有刪除文件夾及其所有文件和子文件夾的替代方法?我試圖弄清楚如何遞歸地做這件事,並且遇到一些有用的東西時有點麻煩。 – Omniabsence

相關問題