【发布时间】:2011-04-01 09:19:07
【问题描述】:
我正在尝试在 Windows 7 机器上以编程方式为所有人设置 FullControl,但没有成功。
var dirSec = dir.GetAccessControl();
var fsar = new FileSystemAccessRule(
"Everyone",
FileSystemRights.FullControl,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.InheritOnly,
AccessControlType.Allow);
dirSec.AddAccessRule(fsar);
dir.SetAccessControl(dirSec);
这为所有人组添加了一些权限(列表和读取),但不是完全控制。如果我使用资源管理器编辑安全权限,我可以将其设置为 FullControl。任何想法为什么它失败了?我的尝试没有错误消息。
【问题讨论】:
-
我的猜测是您的应用程序的进程没有以提升的方式运行,因此您没有适当的权限来修改访问级别。您是否尝试过以管理员身份运行应用程序(右键单击图标,然后从上下文菜单中选择“以管理员身份运行”)?
-
应用程序以提升的方式运行 - 这就是为什么我无法弄清楚它为什么无法创建完全控制权限的原因。