Além de enumerar todos os objetos do AD começando na parte superior (usando algum tipo de componente do Directory Searcher), não sei ao certo como fazer isso programaticamente ...
Uma solução - que não é de programação, mas usa uma ferramenta existente - pode ser Sysinternals AD Explorer que permite você se conectar a um Active Directory e armazenar um instantâneo dele no disco.
Eunãoseiemqueformatoesseinstantâneoestá,infelizmente-talvezvocêpossaentraremcontatocomMarkRussinovicheperguntarseesseformatoestádocumentado/disponíveldealgumaforma(ouverificarvocêmesmoparaverseconseguedescobrirsair).
Outrasopçõespodemser:
Intercâmbio de dados de serviços de diretório (DSDE) - Formato de intercâmbio de dados LDAP (LDIF)
- CSVDE - Exportação de dados CSV (do LDAP)