Все данные каталога Active Directory хранятся в БД в файле ntds.dit. Подавляющее большинство приложений взаимодействуют с каталогом через прослойку DSA реализованную в ntdsa.dll. В свою очередь функции из ntdsa.dll не работают напрямую с ntds.dit, их функционал ограничен потребностями службы каталогов и они не могут дать нам представление о внутреннем устройстве БД Active Directory. Тем не менее ntds.dit представляет собой не что иное как БД JET Blue. В каждой версии windows (начиная с Windows 2000) есть всё необходимое для работы с этой БД.
В статье ниже я попробую осветить следующие вопросы:
- Какова структура БД?
- Как данных в ntds.dit получается «дерево»?
- Как реализовано членство в группах?
- Каков формат атрибута replPropertyMetaData и с какой точностью в метаданных репликации хранятся временные метки?