Re: Domain user account list

From
Alex Fedotov ()
To
Vladimir Suhorukov
Date
2001-06-07T04:48:56Z
Area
SU.WINDOWS.NT.PROG
From: "Alex Fedotov" <alexf@3cube.com>

Vladimir Suhorukov wrote:

>     Есть некоторая сетка с определенным количеством доменов. Стоит задача
> получить список всех доступных с произвольной машины доменов, а так же по
> каждому из доменов получить список аккаунтов. Зачем это нужно: в
> результате будет организован выбор логина для сервиса на конкретной
> машине.

Для логина тебе нужны не любые домены, а только trusted. Чтобы получить их
список, используй NetEnumerateTrustedDomains или LsaEnumerateTrustedDomains.
На Win2K имеет смысл использовать DsEnumerateTrusts с флагами
DS_DOMAIN_IN_FOREST и DS_DOMAIN_DIRECT_OUTBOUND. Почитай в документации,
когда какую функцию можно использовать.

Имей в виду, что эти функции не возвращают имя primary домена (which is
trusted implicitly), в котором зарегистрирована рабочая станция. Eго имя
можно получить c помощью NetWkstaGetInfo, имя домена возвращается в поле
wki100_langroup структуры WKSTA_INFO_100.

После того как определился с именем домена, вызываешь NetGetDCName или
NetGetAnyDCName (или DsGetDcName на Win2K), чтобы получить имя компьютера
контроллера домена. Теперь можешь перечислять пользователей и группы домена
с помощью NetUserEnum и NetGroupEnum, указывая имя домен контроллера в
первом параметре.

--
Alex Fedotov


Отправлено через сервер Talk.Ru - http://www.talk.ru
--- ifmail v.2.15dev5
 * Origin: 3Cube, Inc. (www.3cube.com) (2:5020/400)