Программно назначенный доступ сетевого сервиса к папке с помощью C#

У меня есть установщик, который запускает некоторый код C#. Я хочу, чтобы код C# давал "полный контроль" папке для учетной записи "сетевой службы". Это возможно?

Я вижу несколько примеров онлайн с подключением к домену. Но сетевой сервис находится не в домене, а в локальной учетной записи, и я просто хотел узнать, как это сделать в C#?

ура

1 ответ

Решение
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);

Упоминается в: Установка прав доступа к каталогу - получение исключения "Флаги не могут быть установлены"
Более общий образец можно найти по адресу: http://www.redmondpie.com/applying-permissions-on-any-windows-folder-using-c/

Другие вопросы по тегам