Ошибка : группа, соответствующая указанным параметрам, не найдена. Источник ошибки : system.directoryservices.accountmanagement
In my console application, I am trying to find out if the user is in group that has security permission to folder. But my code is throwing exception. Error : No group matching the specified parameters was found. Source of error : System.DirectoryServices.AccountManagement
Что я уже пробовал:
static void Main(string[] args) { string userDomainName = Environment.UserDomainName; string authUserName = Environment.UserName; string dirPath = ConfigurationManager.AppSettings["FilePath"]; DirectorySecurity dSecurity = Directory.GetAccessControl(dirPath); foreach (FileSystemAccessRule rule in dSecurity.GetAccessRules(true, true, typeof(NTAccount))) { string userGroupName = rule.IdentityReference.Value; bool flag = IsInGroup(, authUserName, userGroupName); if(flag) { Console.WriteLine( authUserName + " can open file from " + dirPath); Console.WriteLine("========================================="); } else { Console.WriteLine( authUserName + " do not have access to " + dirPath); Console.WriteLine("========================================="); } } } private static bool IsInGroup(string domain, string username, string ingroup) { bool isMember = false; try { PrincipalContext domainctx = new PrincipalContext(ContextType.Domain, domain, "DC=testdomain,DC=net"); UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(domainctx, IdentityType.SamAccountName, username); isMember = userPrincipal.IsMemberOf(domainctx, IdentityType.Name, ingroup); return isMember; } catch (Exception ex) { Console.WriteLine(ex.Message); return false; } }