【问题标题】:C# - How to use DirectorySecurity.SetOwner() ? I'm having troublesC# - 如何使用 DirectorySecurity.SetOwner() ?我有麻烦
【发布时间】:2009-09-16 21:22:00
【问题描述】:

我在找出SetOwner() 方法时遇到了麻烦。 在我的例子中,我通过代码在 Active Directory 中创建了一个用户,然后,我为该用户创建了一个文件夹。

一切正常,但我无法将新创建的用户设置为文件夹的所有者。 我不是 C# 大师,所以我很难理解 DirectorySecurity.SetOwner() 方法。谁能帮帮我?

这是创建文件夹的代码,设置我想要的权限,但我还需要将用户设置为所有者。

string pathIntern = @"\\11fil01\brukar\" + user.UserName;

System.IO.DirectoryInfo diIntern = new System.IO.DirectoryInfo(pathIntern);

diIntern.Create();

DirectorySecurity dsecIntern = diIntern.GetAccessControl();

FileSystemAccessRule rule = new FileSystemAccessRule(user.UserName, FileSystemRights.FullControl, InheritanceFlags.None | nheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow);

dsecIntern.SetAccessRule(rule);
diIntern.SetAccessControl(dsecIntern);
//dsecIntern.SetOwner(heeeeelp);

【问题讨论】:

    标签: c# directoryinfo


    【解决方案1】:

    试试这个

    string pathIntern = @"\\11fil01\brukar\" + user.UserName;               
    DirectoryInfo diIntern       = new DirectoryInfo(pathIntern);
    DirectorySecurity dsecIntern = diIntern.GetAccessControl();
    IdentityReference newUser    = new NTAccount(domain + @”\” + username);
    dsecIntern.SetOwner(newUser);
    FileSystemAccessRule permissions = new FileSystemAccessRule(newUser,FileSystemRights.FullControl, AccessControlType.Allow);
    dsecIntern.AddAccessRule(permissions);
    diIntern.SetAccessControl(dsecIntern);
    

    你也可以看到这个链接 Create, Read, Update Active Directory Users with C#

    再见。

    【讨论】:

      猜你喜欢
      • 2011-05-24
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2018-09-14
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      相关资源
      最近更新 更多