У меня есть этот код, чтобы получить свойства пользователя в активном каталоге, возможно, может помочь вам, просто добавить кнопку, и если вы хотите раскомментировать первые три строки комментариев и комментарии первые три строки кода после заявлений. (извините код на испанском языке).
Private Sub Button1_Click (отправитель Как System.Object, е Как System.EventArgs) Ручки Button1.Click
Dim objetoUsuario, gruposSeguridad
Dim ultimoInicioSesion As String
Dim dominio As String
Dim nombreUsuario As String
Dim estadoCuenta As String
Dim gruposSeguridadUsuario As String = ""
'dominio = InputBox("Nombre del dominio Windows Server", "")
dominio = Environment.UserDomainName
'nombreUsuario = InputBox("Nombre de usuario del dominio", "")
nombreUsuario = Environment.UserName
' On Error GoTo cError
On Error Resume Next
objetoUsuario = GetObject("WinNT://" + dominio + "/" + nombreUsuario + ",user")
If Err.Number = 0 Then
If objetoUsuario.AccountDisabled = True Then
estadoCuenta = "Deshabilitado"
ultimoInicioSesion = "No existe"
Else
estadoCuenta = "Habilitado"
ultimoInicioSesion = objetoUsuario.Get("Lastlogin")
End If
gruposSeguridad = ""
For Each gruposSeguridad In objetoUsuario.Groups
If gruposSeguridadUsuario = "" Then
gruposSeguridadUsuario = gruposSeguridad.Name
Else
gruposSeguridadUsuario = gruposSeguridadUsuario + ", " + gruposSeguridad.Name
End If
Next
'Mostramos los datos del usuario
MsgBox("Nombre completo: " & objetoUsuario.Get("Fullname") & vbCrLf & _
"Descripción: " & objetoUsuario.Get("Description") & vbCrLf & _
"Nombre: " & objetoUsuario.Get("Name") & vbCrLf & _
"Carpeta de inicio: " & objetoUsuario.Get("HomeDirectory") & vbCrLf & _
"Script de inicio: " & objetoUsuario.Get("LoginScript") & vbCrLf & _
"Último inicio de sesión: " & ultimoInicioSesion & vbCrLf & _
"Perfil: " & objetoUsuario.Get("Profile") & vbCrLf & _
"Estado de la cuenta: " & estadoCuenta & vbCrLf & _
"Grupos seguridad: " & gruposSeguridadUsuario, vbInformation + vbOKOnly)
objetoUsuario = Nothing
Else
MsgBox("No existe el usuario " + nombreUsuario + " o el dominio " + dominio, vbExclamation + vbOKOnly)
End If
'cSalir:
' Exit Sub
'
'cError:
' MsgBox "Error " + CStr(Err.Number) + " " + Err.Description
' GoTo cSalir
End Sub
Так что сейчас вы возвращаете 0,1 или -1 .. Теперь вам нужно вернуть что-то еще, например, словарь или список. Какой подход вы собираетесь использовать? – Hackerman
Действительно не знаю, я новичок в AD. Я думал, что после того, как логин был проверен, он будет вызывать другую функцию, чтобы определить, в каких группах был пользователь, если бы они были членами указанной группы, позже, это позволило бы им продвигаться. Мне кажется, мне просто нужно вернуть список групп на передний план. Я могу справиться с этим. – Tinman
Возможный дубликат [Как получить группы пользователей в Active Directory? (C#, asp.net)] (http://stackoverflow.com/questions/5309988/how-to-get-the-groups-of-a-user-in-active-directory-c-asp-net) – Hackerman