如何在C#中自動執行以下手動步驟?如何從C#設置文件夾ACL#
右鍵單擊Windows資源管理器中的文件夾;
Properties -> Security -> Advanced -> Edit
取消選中「包括可從該對象的父項的繼承權限」,然後單擊刪除。
單擊添加,選擇一個組並授予它修改權限。
我發現this article,它看起來像正是我需要的,但我沒有和不能找到Microsoft.Win32.Security
。
如何在C#中自動執行以下手動步驟?如何從C#設置文件夾ACL#
右鍵單擊Windows資源管理器中的文件夾;
Properties -> Security -> Advanced -> Edit
取消選中「包括可從該對象的父項的繼承權限」,然後單擊刪除。
單擊添加,選擇一個組並授予它修改權限。
我發現this article,它看起來像正是我需要的,但我沒有和不能找到Microsoft.Win32.Security
。
檢查下面的代碼:
DirectoryInfo dInfo = new DirectoryInfo(strFullPath);
DirectorySecurity dSecurity = dInfo.GetAccessControl();
//check off & copy inherited security setting
dSecurity.SetAccessRuleProtection(true, true);
dInfo.SetAccessControl(dSecurity);
這對於在文件夾上設置權限:
http://www.redmondpie.com/applying-permissions-on-any-windows-folder-using-c/
我不知道那個,但你應該可以通過System.Security.AccessControl
命名空間中的DirectorySecurity類來完成。
我假設你可能也想看看InheritanceFlags枚舉。
謝謝你的回答,ID已經接受了兩個,如果我能 – 2010-09-02 11:44:40
@Andrew:沒問題,Aneef明顯地把更多的精力投入到他的工作中,使其成爲一個更全面的答案,被接受。 – 2010-09-02 12:04:56