0

我想从活动目录中获取我们公司的所有房间,为此我正在使用DirectoryEntryDirectorySearcher类。我需要一个过滤器来获取正确的数据,但我不知道如何构建过滤器来搜索房间。

这是我需要过滤的属性:

msExchResourceMetaData = 资源类型:房间

这是我的代码:

public static DataTable GetRooms(string domaincontroller) 
{
    DataTable list = new DataTable();

    string filter = "(&(objectClass=user)(objectCategory=user)(|(telephoneNumber=*)(mail=*)))";

    //....

    return list; 
}

我只需要过滤器。其余的我知道:(

4

1 回答 1

4

您在那里的过滤器将为您提供每个用户的电话号码或电子邮件地址。

如果您正在寻找带有电话号码或电子邮件地址的房间,只需添加(msExchResourceMetaData=ResourceType:Room)

string filter = "(&(objectClass=user)(objectCategory=user)(msExchResourceMetaData=ResourceType:Room)(|(telephoneNumber=*)(mail=*)))";

如果你想要所有房间,不管他们是否有电话号码或电子邮件地址(我猜你有),然后删除不必要的条件:

string filter = "(&(objectClass=user)(objectCategory=user)(msExchResourceMetaData=ResourceType:Room))";

注意:确保在使用 Active Directory 时将所有内容都包装在using块中,否则会导致内存泄漏。

于 2013-02-28T13:12:25.897 回答