ActiveDirectoryの情報を参考にする方法については、(.Net,ADSI)Active Directroyの情報を参照。を参考にしてください。
OUの一覧を取得するLDAP条件は下記でできるようです。(C#)
// LDAP検索オブジェクトを作成
DirectorySearcher drSearch = new DirectorySearcher(mDrctEntry);
// アカウントフィルターを設定 Userオブジェクトだけ取得するように
drSearch.Filter = "(ObjectCategory=organizationalUnit)";
//ちなみにユーザオブジェクトを取得する時のLDAPクエリは下記
//drSearch.Filter = "(ObjectCategory=user)";
ただ、親子関係は考慮してないので、階層として表現するのは難しいかもしれません。
ただ単にOUが列挙されるだけみたいです。
階層も含めて取得するいい方法ありませんかね。。。。