Есть ли способ узнать, принадлежит ли учетная запись к определенной OU? - PullRequest
0 голосов
/ 10 сентября 2018

Я могу проверить, является ли учетная запись членом группы AD, но есть ли способ узнать, принадлежит ли учетная запись OU? Я хотел бы искать по OU, а не по группе AD, и я не уверен, если это возможно. Ниже описан порядок поиска группы AD.

string myADSPath="LDAP://onecity/CN=Users,DC=onecity,DC=corp,DC=fabrikam,DC=com";  


if (DirectoryEntry.Exists(myADSPath))  
{  
    Console.WriteLine("In the group");  
}  
    else  
{  
    Console.WriteLine("Couldn't get in the group");  
}  

1 Ответ

0 голосов
/ 10 сентября 2018

С помощью этого метода вы можете проверить, находится ли указанный пользователь в foo/bar OU:

public bool CheckUserInOU(string userName)
{
    using (var entryPoint = new DirectoryEntry($@"LDAP://onecity/OU=bar,OU=foo,DC=onecity,DC=corp,DC=fabrikam,DC=com"))
    {
        // User and pass for the LDAP query user if needed.
        entryPoint.Username = "YourUsernameHere";
        entryPoint.Password = "YourPasswordHere";

        using (var searcher = new DirectorySearcher(entryPoint))
        {
            searcher.SearchScope = SearchScope.OneLevel;
            searcher.Filter = $"(&(samAccountName={userName})(objectCategory=user))";

            return searcher.FindOne() != null;
        }
    }
}

И, как говорит @Damien_The_Unbeliever, если у вас есть пользователь, атрибут distinguishedName будет содержать OU.

...