我们有几个呼叫中心,每个呼叫中心在Active Directory中都有自己的组,其中包含在该呼叫中心工作的所有座席。在那里,呼叫中心可能有多个主管,所以我在我们的服务台找到了一个人来设置这样的活动目录:
亚特兰大呼叫中心
然后:
亚特兰大呼叫中心 - 主管
呼叫中心小组的managedBy
属性设置为主管小组。
目前,我必须使用主管组的完整distinguishedname
进行查询。
我想在登录的主管上运行查询,以获取该主管的组名managedBy
。有关更好方法的任何建议。我实际上让网络管理员现在正在研究这个问题。我认为他知道该怎么做,但我已经输入了这个,所以我会看到你们说的话。
这就是我们的网络管理员刚才就此问题所说的内容。
在AD中使用OU的属性不是处理此类问题的好方法。该问题应仅通过组和用户处理。为了管理目的,OU应该用于对象的逻辑组织。
Label1.Text = getCallCenterGroup("CN=******Supervisors,OU=Groups,OU=*******,OU=Locations,DC=******,DC=local");
protected string getCallCenterGroup(string user)
{
DirectoryEntry searchRoot = new DirectoryEntry("LDAP://******");
DirectorySearcher search = new DirectorySearcher(searchRoot);
search.Filter = "(managedBy=" + user + ")";
search.PropertiesToLoad.Add("managedBy");
search.PropertiesToLoad.Add("distinguishedName");
search.PropertiesToLoad.Add("cn");
SearchResultCollection groups = search.FindAll();
foreach (SearchResult sr in groups)
{
return sr.Properties["cn"][0].ToString();
}
return null;
}
答案 0 :(得分:0)
managedBy是一个链接属性,因此您可以查询的唯一语法是您要匹配的对象的DN。我不确定这是不是问题,或者我是否误解了。
在一个单独的主题上,我不同意你的网络管理员关于不扩展OU,但是,这是一个单独的讨论。