0

会社のすべての部屋を Active Directory から取得したいので、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))";

注: usingActive Directory を使用する場合は、可能な限りすべてをブロックでラップしていることを確認してください。そうしないと、メモリ リークが発生します。

于 2013-02-28T13:12:25.897 に答える