我需要对2003中指定的文件夹添加一些于用户。
你如对E:\test\wwwroot添加用户Domain\test,并且把Domain\test添加到Test组中。
我现在能够获取的文件是通过addusers从win2000中提取出来的。像下面的文本
[Local]
Test,Access E:\test\wwwroot,Domain\test,
并且没有密码,只有用户名。请教我如何实现这个功能,将用户添加到对应的组和付给文件夹?

解决方案 »

  1.   

    private void button7_Click(object sender, EventArgs e)
            {
                string filePath = "文件路径";            listBox1.Items.Add("————修改文件权限开始!————");
                //AddDirectorySecurity(filePath, @"Everyone", FileSystemRights.Write, AccessControlType.Deny);    //《=================
                //AddDirectorySecurity(filePath, @"LOCALHOST\adm", FileSystemRights.Write, AccessControlType.Allow);
                //AddDirectorySecurity(filePath, @"wanpeng", FileSystemRights.Write, AccessControlType.Allow);            //AddDirectorySecurity(filePath, @"LOCALHOST\adm", FileSystemRights.Write, AccessControlType.Deny);             
                // 实验添加的  组aaa 用户aax  
                //AddDirectorySecurity(filePath, @"aau", FileSystemRights.Modify, AccessControlType.Allow);   
                AddDirectorySecurity(filePath, @"adm", FileSystemRights.Write, AccessControlType.Deny);            
                            listBox1.Items.Add("————修改文件权限结束!————");
                
            }        
            
            //###########################################################################################################################
            //修改远程文件权限
            private void AddDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)
            {
                DirectoryInfo dInfo = new DirectoryInfo(FileName);
                DirectorySecurity dSecurity = dInfo.GetAccessControl();
                dSecurity.AddAccessRule(new FileSystemAccessRule(Account, Rights, ControlType));
                dInfo.SetAccessControl(dSecurity);            Console.WriteLine("增加");
            }        private void RemoveDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)
            {
                DirectoryInfo dInfo = new DirectoryInfo(FileName);
                DirectorySecurity dSecurity = dInfo.GetAccessControl();
                dSecurity.RemoveAccessRule(new FileSystemAccessRule(Account, Rights, ControlType));
                dInfo.SetAccessControl(dSecurity);            Console.WriteLine("删除");
            }
            //#######################################################################################################################
      

  2.   

    using System.Security.AccessControl;
    using System.Security.Principal;引入后就可以了.上面的代码修修改改就可以用
      

  3.   

    DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
    DirectoryEntry grp = AD.Children.Find("Users", "group");
    //if (grp != null)
    //{
    DirectoryEntry user= AD.Children.Add("testuser", "User");
    user.Invoke("SetPassword", new object[] { "123" });
    user.Invoke("Put", new object[] { "Description", "Test User from .NET" });
    user.CommitChanges();
    //}