Найти имя пользователя в системе с правами админа

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Найти имя пользователя в системе с правами админа

Сообщение Rody66 » 20.09.2011 (Вт) 9:59

Такая вот беда.. список всех имен пользователей получить могу, список всех групп получить могу, а вот узнать кто из полученных пользователей находится в группе "Администраторы" не выходит. Единственное что придумал, так это с помощью WMI проверять есть ли в системе пользователь Admin (который в 95% случаев с правами админа), и если есть, то переменная будет равна "Admin", иначе же, переменная будет равнa имени текущего пользователя в системе. Но этот способ не идеален тем, что если пользователя Admin не будет, а текущий пользователь в системе не будет иметь прав админа, то соответственно ничего не выйдет и пользователь с правами определится неверно. Спасибо.
Знаю, что баян, но то, что нашел в инете\на форуме мои ожидании не оправдало.
PS Пишется для Win 7

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Найти имя пользователя в системе с правами админа

Сообщение alibek » 20.09.2011 (Вт) 12:06

Найди группу администраторов (проверяй RID) и те пользователи, которые в нее входят — админы.
Lasciate ogni speranza, voi ch'entrate.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Найти имя пользователя в системе с правами админа

Сообщение Rody66 » 20.09.2011 (Вт) 12:42

Найди группу администраторов (проверяй RID)

А можно подробнее о RID ?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Найти имя пользователя в системе с правами админа

Сообщение iGrok » 20.09.2011 (Вт) 15:08

label:
cli
jmp label

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Найти имя пользователя в системе с правами админа

Сообщение ger_kar » 20.09.2011 (Вт) 20:25

Можно использовать класс WMI Win32_GroupUser
и запрос WQL такого вида:
Код: Выделить всё
strWQL = "SELECT * FROM Win32_GroupUser WHERE " & _
    "GroupComponent = " & chr(34) & "Win32_Group.Domain='COMP',Name='Администраторы'" & chr(34) & " OR " & _
    "GroupComponent = " & chr(34) & "Win32_Group.Domain='COMP',Name='Administrators'" & chr(34)

В котором 'COMP' заменить на соответствующее имя хоста.
Запрос вернет коллекцию с количеством элементов по числу пользователей входящих в группу администраторы. Затем из строки возвращаемой PartComponent, можно получить имя пользователя входящего в группу администраторы.
Бороться и искать, найти и перепрятать


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 27

    TopList