Как получить список пользователей, которым разрешен доступ?
От:
Аноним
Дата:
14.07.04 12:15
Оценка:
Господа, подскажите,
Использую NetUserEnum, она возвращает только локальных пользователей,
но не доменных, которые зарегистрированны на данной машине и которым назначены, скажем, админские права.
Класс WMI Win32_SystemUsers тоже возвращает не всех пользователей.
Вопрос:
Как получить список пользователей, отображающийся в User Accounts из Control Panel
Re: Как получить список пользователей, которым разрешен дост
Список доменных пользователей сохраняется на контроллере домена. Если у вас контроллер на платформе Win2000, тогда это означает, что там установлено Active Directory, работа из активными директориями может осуществлятся через протокол ldap. (см. функцию ldap_open и дальше). Возможна работа также через ADSI — комовсие обьекты.
Любая задача имеет решение, даже когда решения не существует
Re: Как получить список пользователей, которым разрешен дост
А>Как получить список пользователей, отображающийся в User Accounts из Control Panel
А что там за пользователи отображаются? забыл что что там за диалог, сейчас под рукой нет ничего кроме 2003.
В чём изначальная задача?
... << Rsdn@Home 1.1.4 beta 1 >>
Re[2]: Как получить список пользователей, которым разрешен д
Здравствуйте, Denis, Вы писали:
А>>Как получить список пользователей, отображающийся в User Accounts из Control Panel D>А что там за пользователи отображаются? забыл что что там за диалог, сейчас под рукой нет ничего кроме 2003. D>В чём изначальная задача?
В User Accounts перечислены локальные пользователи машины, а так же те доменные пользователи, которым дан доступ к данной машине.
Т.е. фактически все пользователи, которые являются членами локальных групп данной машины.
Задача состоит в том, что бы показать этих пользователей в списке.
Win32_SystemUsers выводит только тех пользователей, для которых есть профайл, т.е. не всех из данного диалога.
NetEnumUsers возвращает только локальных пользователей.
Я нашел решение проблемы, используя WMI, но это подход можно применить и к NetXXX API.
Первым WMI запрсом я выбираю все локальные группы
SELECT * FROM Win32_Group Where Domain='HOST'
Затем, для каждой локальной групы получаю ассоцированных с ней пользователей
SELECT * FROM Win32_GroupUser WHERE GroupComponent = \"Win32_Group.Domain='HOST',Name='GROUP'\"";
Использование SELECT в данном случае объясняется тем, что Microsoft оптимизировало запрос именно по этому классу а не по ASSOCIATORS, и то только с Win2K SP3.
В ообщем, желаемого результата я добился.
Re[2]: Как получить список пользователей, которым разрешен д
Здравствуйте, Burd, Вы писали:
B>Список доменных пользователей сохраняется на контроллере домена. Если у вас контроллер на платформе Win2000, тогда это означает, что там установлено Active Directory, работа из активными директориями может осуществлятся через протокол ldap. (см. функцию ldap_open и дальше). Возможна работа также через ADSI — комовсие обьекты.
Спасибо за ответ, но это не совсем то, что мне нужно. Мне нужны пользователи, зарегистрированные на локальной машине, в том числе и из домена. Вне зависимости — есть атм ADSI или нет.
Re[3]: Как получить список пользователей, которым разрешен д