C# - 如何使用DirectorySecurity.SetOwner()? 我有麻烦(C# -

2019-08-07 01:42发布

我有麻烦搞清楚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);

Answer 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);

你可以看到这个链接也创建,读取,更新与C#Active Directory用户

再见。



文章来源: C# - How to use DirectorySecurity.SetOwner() ? I'm having troubles