views:

925

answers:

1

I'm having troubles figuring out the SetOwner() method. In my case, i've created a user in Active Directory by code, then, I create a folder for the user, it all works ok, 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 understanding the DirectorySecurity.SetOwner() function. 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);
+1  A: 

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
Thank you sooo much! This worked :)
Svein Erik