Hallo,
Ich würde gerne alle im System eingerichteten Benutzer
ermitteln. Ich habe leider nur herausgefunden, wie ich die
lokalen Benutzer ermitteln kann. Ich bräuchte allerdings auch
die Domänen-Benutzer und nach Möglichkeit auch deren Gruppen.
ich habe mir Hilfe bei http://www.ActiveVb.de geholt und unter anderem folgenden Link bekommen:
http://www.rlmueller.net/ADOSearchTips.htm
Es gibt wohl noch andere Möglichkeiten. Wenn Du noch mehr brauchst, auch etwas bearbeiten möchtest, wende Dich doch besser an AVB, Da schreibt gerade Jemand an so einem Tool.
Ich habe es auch gerade mal leicht umgeschrieben und getestet, läuft, sieht bei mir so aus:
Option Explicit
Dim adoCommand, adoConnection, strBase, strFilter, strAttributes
Dim objRootDSE, strDNSDomain, strQuery, adoRecordset, strName, strCN
Private Sub Command1\_Click()
Set adoCommand = CreateObject("ADODB.Command")
Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Open "Active Directory Provider"
adoCommand.ActiveConnection = adoConnection
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
strBase = ""
strFilter = "(&(objectCategory=person)(objectClass=user))"
strAttributes = "sAMAccountName,cn"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
adoCommand.CommandText = strQuery
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("Timeout") = 30
adoCommand.Properties("Cache Results") = False
Set adoRecordset = adoCommand.Execute
Do Until adoRecordset.EOF
strName = adoRecordset.Fields("sAMAccountName").Value
strCN = adoRecordset.Fields("cn").Value
List1.AddItem "NT Name: " & strName & ", Common Name: " & strCN
adoRecordset.MoveNext
Loop
adoRecordset.Close
adoConnection.Close
End Sub
Gruß Rainer