Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Programmatically assigned network service access to folder using c#

I have an installer that runs some c# code. I want the c# code to give 'full control' to a folder for the 'network service' account. Is this possible?

I see some examples online with connecting to a domain. But the network service is not on a domain it's a local account and I just wanted to know how to do it in c#?

Cheers

like image 311
Exitos Avatar asked Apr 18 '11 08:04

Exitos


1 Answers

DirectoryInfo dirInfo = new DirectoryInfo("C:\\TestDir2");
DirectorySecurity dirSecurity = dirInfo.GetAccessControl();

dirSecurity.AddAccessRule(new FileSystemAccessRule("ASPNET", FileSystemRights.Write|FileSystemRights.DeleteSubdirectoriesAndFiles, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.InheritOnly, AccessControlType.Allow));

dirInfo.SetAccessControl(dirSecurity);

Mentioned at: Setting access rights for a directory - receiving exception "No flags can be set"
A more generic sample can be found at: http://www.redmondpie.com/applying-permissions-on-any-windows-folder-using-c/

like image 111
Kamyar Avatar answered Nov 05 '22 07:11

Kamyar