我们有几个呼叫中心,每个呼叫中心在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;
}发布于 2011-08-12 19:37:16
managedBy是一个链接属性,所以您可以查询它的惟一语法是要匹配的对象的DN。我不知道这是个问题还是我误会了。
在一个单独的线程上,我并不完全同意您的网络管理关于不扩展OU,但是,这是一个单独的讨论。
https://stackoverflow.com/questions/6983135
复制相似问题