GetRoomLists succeeds but returns no data

懵懂的女人 提交于 2019-12-01 05:24:00

Well I found the cause/solution. The confusion was in that GetRoomLists does not return a list of rooms, but instead a list of a list of rooms, or a collection of "Room Lists". These are a special type of distribution list that contains a list of rooms.

As outlined here, http://social.msdn.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/4ff04c60-48c2-4a69-ab75-2383e73bfde2, you either need to setup room lists or you need to query AD and check the msExchRecipientDisplayType attribute to track down the rooms.

This link shows an example of how to write the LDAP query to return rooms: http://social.msdn.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/e2d10953-a8f9-459c-8a0e-f10c2e568b26

Code I put together for finding rooms:

private List<string> GetConfRooms(string filter)
{
    List<string> sRooms = new List<string>();

    DirectoryEntry deDomain = System.DirectoryServices.ActiveDirectory.Domain.GetComputerDomain().GetDirectoryEntry();
    DirectorySearcher dsRooms = new DirectorySearcher(deDomain);

    dsRooms.Filter = string.Format("(&(&(&(mailNickname={0}*)(objectcategory=person)(objectclass=user)(msExchRecipientDisplayType=7))))", filter);

    dsRooms.PropertiesToLoad.Add("sn");
    dsRooms.PropertiesToLoad.Add("mail");

    foreach (SearchResult sr in dsRooms.FindAll())
    {
        sRooms.Add(sr.Properties["mail"][0].ToString());
    }

    return sRooms;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!