Alexander A Manaeff -

 
 

VB. Определяем принадлежность пользователя к доменной группе

Здесь обсуждаются вопросы по программированию на Visual Basic.

Модератор: UncleFather

VB. Определяем принадлежность пользователя к доменной группе

Сообщение UncleFather » 15 дек 2015 12:21, Вт




Задача:

Необходимо определить является ли текущий пользователь членом определенной группы Active Directory.


Решение:

 Код:
Код: Выделить всё
   
    Dim Membership As Boolean 'Объявляем булеву переменную, показывающую является ли пользователь членом группы
    On Error Resume Next 'Страхуемся от ошибок
    Set objSysInfo = CreateObject("ADSystemInfo") 'Создаем объект objSysInfo
    Set objUser = GetObject("LDAP://" & objSysInfo.UserName) 'Создаем объект objUser - текущий пользователь
    MsgBox Replace(objUser.userPrincipalName, "@bureau.local", "") 'При необходимости отображаем его в окне MsgBox
       
    Membership = False 'Инициируем начальное значение переменной Membership

    For Each strCN In objUser.MemberOf 'Начинаем перебор всех групп, членом которых является текущий пользователь
        Set objGroup = GetObject("LDAP://" & strCN) 'Получаем имя группы
        If Replace(objGroup.Name, "CN=", "") = "Feemale" Then 'Сравниваем полученное имя группы с искомым (в данном случае «Feemale»), и, если совпало
            Membership = True 'Изменяем переменную Membership
            MsgBox "Пользователь " & Replace(objUser.userPrincipalName, "@bureau.local", "") & " является членом группы Feemale" 'Выводим соответствующее сообщение
            Exit For 'и завершаем For Each
        End If
    Next
   
    If Membership = False Then MsgBox "Пользователь " & Replace(objUser.userPrincipalName, "@bureau.local", "") & " не является членом группы Feemale" 'Если переменная Membership не изменена, то выводим соответствующее сообщение


Та же самая задача с решением для bat-файла (командной строки) описана в статье Определяем принадлежность пользователя доменной группе
Источник



Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1331
Зарегистрирован: 17 авг 2004 16:20, Вт



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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Alexander A Manaeff -
@Mail.ru .