Получить список доступных доменов (NT4 и Active Directory)

Кто-нибудь знает (в c #) способ получения доступных доменов NT4 (немного похоже на выпадающий список WinXP)?

Я знаю, что это довольно легко для Active Directory, использующего пространство имен DirectoryServices, но я не могу найти ничего для старых доменов NT4. Я бы предпочел не использовать вызовы API, если это вообще возможно (однако, это может потребовать немного больших затрат).

Кроме того, что касается бонусных баллов (!), Мы наконец-то перейдем к Active Directory позже этой осенью, так как бы мне придумать способ автоматического переключения моего списка доменов с NT4 на AD, когда мы мигрируем (поэтому мне не нужно перекомпилировать и переиздать)

22.08.2008 12:56:36
1 ОТВЕТ

К сожалению, я думаю, что ваш единственный вариант - использовать ADSI API. Вы можете переключаться между NT4 и Active Directory, меняя провайдеров в своем коде. NT4 использует провайдера WinNT, а Active Directory - провайдера LDAP.

Если вы запрашиваете узел RootDSE того поставщика, который вы используете, он должен возвращать контексты именования, к которым вы можете привязать, включая домены. RootDSE - это специфический идентификатор схемы LDAP. Для WinNT вы можете запросить корневой объект как «WinNT:», чтобы получить доступные домены.

ADSI доступен через VB скрипт BTW.

1
22.08.2008 13:15:27