Программно назначенный доступ сетевого сервиса к папке с помощью c # - PullRequest
6 голосов
/ 18 апреля 2011

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

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

Приветствия

1 Ответ

8 голосов
/ 18 апреля 2011
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/

...