如何在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