DirectorySecurity.RemoveAccessRuleSpecifi c не работает должным образом - PullRequest
0 голосов
/ 19 марта 2020

У меня есть несколько структур каталогов, из которых мне нужно удалить рабочую группу. Рабочая группа имеет доступ на чтение и выполнение. Рабочая группа, в которой я нахожусь на всех уровнях структуры, имеет полный контроль. Я пытался удалить эту рабочую группу, используя метод DirectorySecurity RemoveAccessRuleSpecifi c () Net, но, хотя он не выдает ошибку, он также не удаляет целевую рабочую группу. Вот мой код Кто-нибудь может указать мне правильное направление?

string path = @"Z:\THS-TESTLAB\Documents and Settings\a-username\Local Settings";
DirectoryInfo dirInfo = new DirectoryInfo(path);
DirectorySecurity dSecurity = dirInfo.GetAccessControl();
AuthorizationRuleCollection acl = dSecurity.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
foreach (FileSystemAccessRule access in acl)
{
    // Where 'th-ro' is the target workgroup
    if (access.IdentityReference.Value == @"WIN\thststlab-files-th-ro")
        dSecurity.RemoveAccessRuleSpecific(access);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...