' Используется Active Directory
Public Function GetUserList(FullNamesList As Variant, _
Optional DomainName As String) As Variant
' возвращает полный список юзеров данного домейна.
' В аргумент FullNamesList будет положен массив с
' полными именами пользователей.
Dim curDomServer As String
Dim Ulist() As String
Dim FNlist() As String
' если имя домейна не задано при вызове этого метода
' берем текущее имя.
' Оно хранится в этом же классе в переменной sCurrentDomain
If DomainName = "" Then
curDomServer = sCurrentDomain
Else
curDomServer = DomainName
End If
Dim sUserInfo
Dim oIADs As ActiveDs.IADs
Dim oContainer As ActiveDs.IADsContainer
Dim oUser As IADsUser
' Теперь контейнер создается не на полном namespaсe,
' а на базе конкретного имени домейна
Set oContainer = GetObject("WinNT://" + curDomServer)
' И нужен нам оттуда именно список пользователей
' какие еще фильтры вы можете применять -
' можно посмотреть в прилагаемом хелпе
oContainer.Filter = Array("User")
ReDim Ulist(0)
ReDim FNlist(0)
For Each oIADs In oContainer
Set oUser = oIADs
' заполняем массивы
ReDim Preserve Ulist(UBound(Ulist) + 1)
ReDim Preserve FNlist(UBound(FNlist) + 1)
Ulist(UBound(Ulist)) = oUser.Name
FNlist(UBound(FNlist)) = oUser.FullName
Next oIADs
' возвращаем значения
GetUserList = Ulist
FullNamesList = FNlist
' не забываем сбросить референсы в Nothing
Set oUser = Nothing
Set oContainer = Nothing
End Function
Kurt писал(а):Да простят мою тупость, но не понял, в чем разница?
В чем проявляется разница имен?
Kurt писал(а):Да простят мою тупость, но не понял, в чем разница?
В чем проявляется разница имен?
Фёдор писал(а):Ну при воде в систему я например ввожу login: yudin, а в меню "Пуск" отбражается "Юдин Фёдор"
Сейчас этот форум просматривают: PetalBot и гости: 2