Hallo, ich beschäftige mich gerade mit der Programmierung (.NET) einer Funktion, die mir sagt, ob ein Benutzer in einer Gruppe ist, ggf. in einer Untergruppe (rekursiv). Ich will es auch verstehen, nicht nur irgendein Beispiel kopieren. Also ich bin so weit: Domain-Controller ist ein Windows 2008 Server. Ich erhalte Zugriff auf den ADS so: Dim DirectoryRoot As New DirectoryEntry("LDAP://mein-pdc") Dazu die erste Frage: "mein-pdc" ist der DNS-Name von meinem PDC. Es funktioniert auch, aber wie würde ich das in korrekter LDAP-Notation schreiben? Also so CN=... Ich verstehe die Syntax "LDAP://mein-pdc" nicht. Dann suche ich meine Gruppe: Dim DirectorySearch As New DirectorySearcher(DirectoryRoot, "(CN=gesuchte_gruppe")") Dim DirectorySR As SearchResult = DirectorySearch.FindOne() auch das funktioniert, und das verstehe ich auch. Dann hole ich mir die Eigenschaften der gefundenen Gruppe: Dim ResultPropertyCollection As ResultPropertyCollection = DirectorySR.Properties und schließlich durchlaufe ich die Property mit dem Namen "Member": For Each GroupMemberDN In ResultPropertyCollection("member") Debug.Print(GroupMemberDN) next Ich erhalte sowas zurück: CN=obergruppe,OU=Anwendungen,DC=privat1,DC=privat2,DC=privat3 CN=Jan Sagichnich,OU=Benutzer,DC=privat1,DC=privat2,DC=privat3 Aber was ist das vom Typ her, was ich da bekommen habe? Ich weiß, dass das erste eine Gruppe ist und das zweite ein Benutzer, aber wie finde ich das per Programm raus (um dann den Namen zu vergleichen oder in die Rekursion einzusteigen)? Ich weiß, manche Sachen kann man auch kompakter schreiben, aber es hilft mir zu verstehen..
Indem du ein neues DirectoryEntry mit "CN=obergruppe,OU=Anwendungen,DC=privat1,DC=privat2,DC=privat3" erstellst und dann die Eigenschaft DirectoryEntry.SchemaEntry.Name überprüfst. http://msdn.microsoft.com/en-us/library/system.directoryservices.directoryentry.schemaentry.aspx
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.