2

I'm having troubles figuring out the SetOwner() method. In my case, I've created an user in Active Directory by code, then, I create a folder for the user.

It all works fine, but I cannot set the newly created user as the owner of the folder. I'm not a C# guru, so I'm having troubles to understand the DirectorySecurity.SetOwner() method. Can anyone please help me out?

Here is the code that creates the folder, sets the rights like i want it, but I also need to set the user as the owner.

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);
Amol M Kulkarni
  • 21,143
  • 34
  • 120
  • 164
Svein Erik
  • 531
  • 2
  • 11
  • 24

1 Answers1

7

Try this

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

You can see this link too Create, Read, Update Active Directory Users with C#

Bye.

RRUZ
  • 134,889
  • 20
  • 356
  • 483