powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как получить список пользователей домена ?
6 сообщений из 6, страница 1 из 1
Как получить список пользователей домена ?
    #33755452
_Ildar_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!

Господа подскажите пожалуйста, как на Visual C++ 6.0 можно получить список пользователей домена Windows. На серваке стоит серверная ОС Windows 2003, на ней поднят домен.

Речь идет именно о именах пользователей домена Windows, а не о компах в сетевом окружении. Порылся в MSDN не нашел...

Может кто знает как ?

Подскажите пожалуйста, очень Вас прошу...

Заранее огромное спасибо!
...
Рейтинг: 0 / 0
Как получить список пользователей домена ?
    #33755487
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в MSDN функции NetQueryDisplayInformation и NetUserEnum
...
Рейтинг: 0 / 0
Как получить список пользователей домена ?
    #33755491
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
void ShowNTUsers() 
{ 
   DWORD dwTotalEntries; 
   DWORD dwEntriesRead; 
   DWORD dwPrefmaxlen =  256 ; 
   USER_INFO_10 * theEntries = new USER_INFO_10[ 256 ];
   char szData[ 4096 ];
   char chLine[ 256 ];
   NET_API_STATUS napistat; 
   WCHAR cServer[ 50 ];// = "\\\\bigone";
   HANDLE hFile;
   DWORD dwWr;

   MultiByteToWideChar(CP_ACP, MB_COMPOSITE, "\\\\bigone\0",  9 , cServer,  50 );
   napistat = ::NetUserEnum((LPCWSTR) cServer,  10 , FILTER_NORMAL_ACCOUNT, (LPBYTE*)&theEntries , MAX_PREFERRED_LENGTH,                            &dwEntriesRead, &dwTotalEntries, NULL);
 
//Функция возвращает только 8 записей вместо 175
//dwTotalEntries = 175
//dwEntriesRead = 8
//napistat = 234 -> ERROR_MORE_DATA "More data is available"

   if (napistat == NERR_Success) 
   { 
      MessageBox (NULL, "NetUserEnum failed", "ERROR", MB_OK); 
      return; 
   } 

    
   hFile = (HANDLE)CreateFile("users.txt\0", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, 
          FILE_ATTRIBUTE_NORMAL, NULL);
    chLine[ 0 ] = '\0';
    szData[ 0 ] = '\0';

   for (int i= 0 ; i< dwEntriesRead; i++) 
   { 
       wsprintf(chLine, "%ls\t%ls\t%ls\r\n", theEntries[i].usri10_name, 
           theEntries[i].usri10_full_name, theEntries[i].usri10_comment);
       strcat(szData, chLine);
       chLine[ 0 ] = '\0';
        
   }
   

   WriteFile(hFile,szData, strlen(szData), &dwWr, NULL); 
   
   ::NetApiBufferFree (theEntries);

   CloseHandle(hFile);
}
...
Рейтинг: 0 / 0
Как получить список пользователей домена ?
    #33755610
saint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такая классная штука ADSI. в MSDN в частности.

искать можно через DCOM объекты (IDirectorySearch) или через ADO, как удобно.
...
Рейтинг: 0 / 0
Как получить список пользователей домена ?
    #33756144
_Ildar_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедура отлично работает! Спасибо!

У меня еще один, возможно дурацкий, вопрос...

А как можно определить текущего пользователя домена, того, который зашел под своим именем и паролем на комп. ?

Заранее огромное спасибо!
...
Рейтинг: 0 / 0
Как получить список пользователей домена ?
    #33756151
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GetUserName?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как получить список пользователей домена ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]