VB Code:
  1. Option Explicit
  2.  
  3. Private Function DomainUsers(ByVal p_strDomain As String) As String()
  4. On Error GoTo LocalErr
  5. Dim l_objMember As Object, l_objMyComputer As Object, l_objCompClass As Object
  6. Dim l_strArray() As String
  7.  
  8.     Me.MousePointer = vbHourglass
  9.     ReDim l_strArray(0)
  10.    
  11.     ' Get the instance of nt of specified domain
  12.     Set l_objMyComputer = GetObject("WinNT://" & p_strDomain)
  13.     Set l_objCompClass = GetObject(l_objMyComputer.Schema)
  14.    
  15.     ' Filter the object against the array(user)
  16.     l_objMyComputer.Filter = Array("user")
  17.     ' Get the each member
  18.     For Each l_objMember In l_objMyComputer
  19.         l_strArray(UBound(l_strArray)) = Trim(l_objMember.Name)
  20.         ReDim Preserve l_strArray(UBound(l_strArray) + 1)
  21.     Next
  22.    
  23.     DomainUsers = l_strArray
  24.    
  25. LocalExit:
  26.     Me.MousePointer = vbNormal
  27.     Set l_objMyComputer = Nothing
  28.     Set l_objMember = Nothing
  29.     Set l_objCompClass = Nothing
  30.     Exit Function
  31. LocalErr:
  32.     Me.MousePointer = vbNormal
  33.     MsgBox Err.Number & " " & Err.Source & " " & Err.Description
  34. End Function