以编程方式设置文件夹权限

时间:2013-08-21 14:37:22

标签: c# permissions

我正在尝试使用C#将文件复制到Windows 7中的目录C:\Windows\Win32,但操作系统不允许我这样做。我已经编写了一个解决问题的程序,但它在我设置访问控制的行上引发了异常:di.SetAccessControl(ds)

异常消息是:

  

“试图执行未经授权的操作。”

我的代码:

using System.IO;
using System.Security.AccessControl;
using System.Management;
using System.Management.Instrumentation;

namespace MyProgram
{
    public class Program
    {
        public static void Main(string[] args)
        {
            System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\Windows\Win32");
            FileSystemAccessRule fsar = new FileSystemAccessRule("Users", FileSystemRights.FullControl, AccessControlType.Allow);
            DirectorySecurity ds = null;
            if (!di.Exists)
            {
                System.IO.Directory.CreateDirectory(@"C:\Windows\Win32");
            }

            ds = di.GetAccessControl();
            ds.AddAccessRule(fsar);
            di.SetAccessControl(ds);
            File.Copy(@"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg", @"C:\Windows\Win32\Desert.jpg");
            Console.WriteLine("successfully copy!!!!");
        }
    }
}

0 个答案:

没有答案