我可以检查一个帐户是否是AD组的成员,但是有没有办法判断一个帐户是否属于OU?我想按OU而不是按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");
}
答案 0 :(得分:0)
使用这种方法,您可以检查指定的用户是否在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。