Как я могу узнать какими правами я обладаю в контексте домена сети : user, administrator e.c. Подчеркиваю - не для локальной тачки, а для домена сети.
infern0 Спасибо. Ответ неверный ). Я и есть администратор сети. Я пишу прогу, которая при старте должна определять является ли пользователь админом домена. Думаю что копать нужно в сторону Active Directory. Может есть другие пути?
Jupiter Придется повториться. Как определить являюсь ли я админом локальной тачки я и сам знаю. Являюсь ли я админом сети - вот в чем вопрос.
A_Must_Loll Такая мысль уже посещала. Но вот откопал NetGroupGetUsers. С помощью нее получаю список пользователей, входящих в группу Domain Admins домена сети, а затем просто сравниваю возвращенные записи с именем локального пользователя. Вот пример: Код (Text): mov dwEntriesRead,0 mov dwTotalEntries,0 invoke NetGroupGetUsers,addr lpServerName,addr lpGroupName,0,addr pBuf,MAX_PREFERRED_LENGTH,\ addr dwEntriesRead,addr dwTotalEntries,0 .if eax == NERR_Success || eax == ERROR_MORE_DATA && dwEntriesRead > 0 mov edx,[pBuf] mov rBuf,edx xor edx,edx @@: cmp edx,dwEntriesRead je @F push edx invoke RtlMoveMemory,addr gui,rBuf,4 invoke WideCharToMultiByte,CP_ACP,0,gui.grui0_name,\ -1,addr szBuf,255,NULL,NULL PrintString szBuf pop edx inc edx add rBuf,4 jmp @B @@: .endif invoke NetApiBufferFree,addr pBuf Замечу, что lpServerName и lpGroupName Unicode-строки. Остальное вроде и так понятно. Группа должна быть Global. Что касается моего домена, удалось получить записи для групп: Domain Admins, Domain Users, Domain Controllers, Domain Computers, Enterprise Admins, Schema Admins, Group Policy Creator Owners.
irrona Замечу, что lpServerName и lpGroupName Unicode-строки а не пробовал - будет ли это работать на русском сервере? на скока я помню, в оснастке "пользователи и компьютеры" высвечиваются группы типа "Администраторы домена" и т.п.
Max Проверить не могу, т.к. не имею 2003 сервера с руссификацией. Если кто желает проверить сам - пожалуйста.