torstenv 10 Posted September 30, 2004 Report Posted September 30, 2004 Hi! Ich muss aus einer VB Anwendung heraus alle Objekte innerhalb des Active Directories finden, deren Klasse "Computer" "Group" oder "User" ist. Und das unabhängig vom Ort des Objektes. Bisher habe ich das realisiert, indem ich rekursiv durch alle "Unterverzeichnisse" des AD gebrowsed bin und dort nach Objekten der entsprechenden Klasse gesucht habe: Private Sub UpdateADUsers(ByVal Ort As String, Optional Recoursive As Boolean) [...] Set OU = GetObject("LDAP://" & Ort) For Each Item In OU If Item.Class = "container" Or Item.Class = "builtinDomain" Or Item.Class = "organizationalUnit" Then Call UpdateADUsers(Item.Name & "," & Ort, True) ElseIf Item.Class = "computer" Then [...] ElseIf Item.Class = "group" Then [...] ElseIf Item.Class = "user" Then [...] end if [...] end sub Leider ist diese Methode sehr langsam, bei ADs mit 350 PCs und ungefähr genauso vielen Usern dauert es fast 2 Minuten, bis die Rekursion durch ist und ich alle Infos habe, die ich brauche. Da ich das bei jedem Programmstart ausführen muss, um immer die aktuellen Infomrationen zu haben, suche ich nach einem schnelleren Weg. Gibt es LDAP:// oder WINNT:// Funktionen, die einem einfach eine Liste von Computern, Usern oder Gruppen liefert, egal wo sie im AD liegen, ohne dass ich das manuell durchforsten muss? T. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.