for a part of your Question..
for getting the list of users in a domain using ADSI ..
VB Code:
''Add Active DS Type Library in the REferences
Private Sub Form_Load()
cboDomain.AddItem strLocalSysName ''local system name
Dim namespace As IADsContainer
Dim domain As IADs
'Loads all the current domains
Set namespace = GetObject("WinNT:")
For Each domain In namespace
cboDomain.AddItem domain.Name
Next
End Sub
Private Sub cboDomain_Click()
On Error Resume Next
List1.Clear
cboUser_Group.Clear
Dim container As IADsContainer
Dim containername As String
containername = cboDomain.Text
Set container = GetObject("WinNT://" & containername)
container.Filter = Array("User")
Dim user As IADsUser
For Each user In container
List1.AddItem user.Name
Next
container.Filter = Array("Group")
Dim group As IADsGroup
For Each group In container
cboUser_Group.AddItem group.Name
Next
End Sub
Private Sub cboUser_Group_Click()
On Error Resume Next
List1.Clear
Label3.Caption = "Members of " & cboUser_Group.Text
frmpleasewait.Show
DoEvents
Dim group As IADsGroup
Dim groupname As String
Dim groupdomain As String
groupname = cboUser_Group.Text
groupdomain = cboDomain.Text
Set group = GetObject("WinNT://" & groupdomain & "/" & groupname & ",group")
For Each member In group.Members
List1.AddItem member.Name
Next
End Sub