Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как получить список пользователей домена

6.0K
18 декабря 2010 года
spyrytus
51 / / 14.07.2006
Здравствуйте.

У меня есть задача: получить список пользователей в домене у меня на фирме, я попытался это сделать через функцию: NetUserEnum - но это оказалось невозможным, т.к. мне возвращается ошибка: 1265 (ERROR_DOWNGRADE_DETECTED), я нашел, что это не поддержываемый алгоритм шифрования со старых систем (DES - http://support.microsoft.com/kb/977321/en-us/).
Я пишу программу на Visual Studio 2010 на С++ на OS Microsoft Windows XP SP3 - домен находится на базе: Windows Server 2008 ...
Вот возник вопрос - как получить список пользователй из домена ?

P.S. ADO Active Directory - не предлагать, т.к. у нас запрещена такая возможность, я попытался использовать запрос - но получил ошибку: Access denied for users mode.

Как я могу получить список пользователей из домена на базе Windows Server 2008 из ОС Windows XP SP3 ?
Если кто уже пытался такое сделать - раскажыте, или покажите куда смотреть - чтобы это исправить, очень нужно ...

Заранее благодарен, жду ответа.
---
С ув. Евгений.
6.0K
19 декабря 2010 года
spyrytus
51 / / 14.07.2006
Тут вообще люди есть ? - знающие остались ? - мне ведь ну нужно решение, я просто спросил, где можно про это прочитать (про ошибку) ...
342
22 декабря 2010 года
Yos
209 / / 21.06.2003
Код:
//*************************************************************
//*
//* Является ли пользователь локальным администратором
//* или администратором домена
//*
//*************************************************************
BOOL TDialogs::IsAdministrator(LPSTR pUser, LPSTR pDomain)
{
 //****
 CHAR                 user[MAX_NAME_SIZE];
 CHAR                 name[MAX_TEXT_SIZE];

 WCHAR              domain[MAX_NAME_SIZE];

 LPUSER_INFO_1   info;

 DWORD      read;
 DWORD      total;

 DWORD      i;

 BOOL       administrator = FALSE;

 // конвертируем параметры
 wsprintf(user,"%s",pUser);
 CharLowerBuff(user,strlen(user));
 SystemToUnicode(pDomain,(LPWORD)domain);

 // получаем список пользователей
 if( NetUserEnum(domain,1,FILTER_NORMAL_ACCOUNT,(LPBYTE *)&info,MAX_PREFERRED_LENGTH,&read,&total,NULL) == NERR_Success )
 {
    // анализируем список пользователей
    for( i=0; i<read; i++ )
    {
        // если пользователь администратор
        if( (info+i)->usri1_priv == USER_PRIV_ADMIN )
        {
            // конвертируем имя для сравнения
                                       UnicodeToSystem((LPWORD)(info+i)->usri1_name,name);
                                       CharLowerBuff(name,strlen(name));

            // если пользователь определен
            if( CompareStrings(user,name) ) administrator = TRUE;
        }
    }

    // освобождаем выделенные ресурсы
    NetApiBufferFree(info);
 }

 // возвращаем результат
 return administrator;
}


Вообщем я вот такой кодец использовал пару недель назад. Естественно оно не совсем то что надо вам, но это решается убираением парочки строк. Курсивом выделены мои собственные функции (мне так удобнее), так что их надо заменить на другие, типа strcmp и др... Имя домена может быть и именем локальной машины со всеми вытекающими отсюда... Но есть одно ограничение налагаемое системой, но вам оно врядли интересно, так как решается оно другим способом...

PS Кодец испытан с 2000 по 2008 - никаких нареканий...
6.0K
22 декабря 2010 года
spyrytus
51 / / 14.07.2006
Цитата: Yos
PS Кодец испытан с 2000 по 2008 - никаких нареканий...


Этот код я знаю, он не работает на нашем домене ... :(
Я писал:

Цитата: spyrytus
NetUserEnum - но это оказалось невозможным, т.к. мне возвращается ошибка: 1265 (ERROR_DOWNGRADE_DETECTED), я нашел, что это не поддержываемый алгоритм шифрования со старых систем (DES - http://support.microsoft.com/kb/977321/en-us/).


Какие есть еще предложения ? - как Outlook Express определяет всех пользователей домена (во-первых быстро, во-вторых всех) ? :mad:
Заранее благодарен ...

342
23 декабря 2010 года
Yos
209 / / 21.06.2003
http://support.microsoft.com/kb/942564/ru - раздел временное решение (правда на корявом русском, о чем есть предупреждение).

А оутлок может и не использовать DES при обращении, а так же входить в доверенные приложения...
96K
16 июля 2015 года
lex2002s
1 / / 16.07.2015
Советую воспользоваться очень удобной и легкой в использовании программой http://kovanev.net/downloads/my-soft/202-export-fr...
Я оттачивал её в течение 1,5 лет, благодаря чему она обрела весьма большой функционал!

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог