U-- °LoneWolf° Geschrieben 25. Juli 2006 Geschrieben 25. Juli 2006 Hi zusammen weiß jemand wie ich die Zuordnung von Benutzern und Gruppen aus dem ad auslesen kann. Ich möchte gerne ein Programm schreiben das alle User (mit Attributen) im ad ausliest und mir zusätzlich die Gruppen der einzelnen Nutzer ausgibt. Leider konnte ich bisher nur Beispiele finden in denen ich alle Gruppen oder alle User auslese aber in keinem der Beispiele konnte man an Hand der Ergebnisse Festellen welcher User in welcher Gruppe steckt.
U-- °LoneWolf° Geschrieben 26. Juli 2006 Autor Geschrieben 26. Juli 2006 Hi nochmal hier mal der code den ich von MSDN habe private void Form1_Load(object sender, System.EventArgs e) { TreeNode users = new TreeNode("Users"); TreeNode groups = new TreeNode("Groups"); TreeNode services = new TreeNode("Services"); viewPC.Nodes.AddRange(new TreeNode[] { users, groups, services }); foreach(System.DirectoryServices.DirectoryEntry child in entryPC.Children) { TreeNode newNode = new TreeNode(child.Name); switch (child.SchemaClassName) { case "User" : users.Nodes.Add(newNode); break; case "Group" : groups.Nodes.Add(newNode); break; case "Service" : services.Nodes.Add(newNode); break; } AddPathAndProperties(newNode, child); } } private void AddPathAndProperties(TreeNode node, System.DirectoryServices.DirectoryEntry entry) { node.Nodes.Add(new TreeNode("Path: " + entry.Path)); TreeNode propertyNode = new TreeNode("Properties"); node.Nodes.Add(propertyNode); foreach (string propertyName in entry.Properties.PropertyNames) { string oneNode = propertyName + ": " + entry.Properties[propertyName][0].ToString(); propertyNode.Nodes.Add(new TreeNode(oneNode)); } } Leider ist an hand dieser daten keine zuordnung zwischen benutzern und gruppen möglich
U-- °LoneWolf° Geschrieben 26. Juli 2006 Autor Geschrieben 26. Juli 2006 Hi bin einen schritt weiter. Leider fehlen mir bei den User daten die Daten wie z.B. Tel mail usw. Diese Daten müsste ich noch irgendwie auslesen. hier der aktuelle Code System.DirectoryServices.DirectoryEntry entryPC = new System.DirectoryServices.DirectoryEntry("..."); foreach(System.DirectoryServices.DirectoryEntry child in entryPC.Children) { Console.WriteLine(child.Name); switch (child.SchemaClassName) { case "User" : foreach (string propertyName in child.Properties.PropertyNames) { string oneNode = propertyName + ": " + child.Properties[propertyName][0].ToString(); Console.WriteLine(oneNode); } object members = child.Invoke("GROUPS",null); foreach( object member in (IEnumerable) members) { System.DirectoryServices.DirectoryEntry x = new System.DirectoryServices.DirectoryEntry(member); Console.WriteLine(x.Name); } break; } } Console.ReadLine(); }
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden