Eric Cartman 10 Geschrieben 14. Januar 2008 Melden Teilen Geschrieben 14. Januar 2008 Hallo Ihr lieben, ich habe mir ein kleines Tool geschrieben das über VBScript verpackt in einer .hta auf Ordnern Rechte ausliest, die entsprechenden Gruppen ausgibt und die Mitglieder der einzelnen Gruppen bei Bedarf ausgibt. Dann kann man über ein Textfeld nach Usern in der AD suchen und über einen Button in die entsprechenden Gruppen aufnehmen und somit User auf einzelne Ordner berechtigen. Jetzt kommt mein Problem, wir haben mehrere Domänen die alle untereinander "vertauen", ihr wisst was ich meine. Ich kann zwar jetzt nach Usern in den einzelnen Domänen per LDAP-Abfrage suchen, aber ich kann sie nicht in die Gruppen einfügen wie ich es mit den Usern aus der eigenen Domäne gewohnt bin. Normalerweise legt die AD beim Hinzufügen von Usern aus trusted Domains ein foreignSecurityPrincipal-Objekt an welches als Namen nur die SID des Objekts anzeigt. Ich würde hier ja auch das Script posten, aber es ist inzwischen fast 10 DIN A4 lang und würde wahrscheinlich mehr verwirren als sonst was. Hat jemand von Euch schon mal User per Script aus einer trusted Domain hinzugefügt? Ich wäre über jeden Tip dankbar. Gruß Eric (der eigentlich nur in Off-Topic wohnt) Zitieren Link zu diesem Kommentar
ChristianHemker 10 Geschrieben 14. Januar 2008 Melden Teilen Geschrieben 14. Januar 2008 Hallo, in welche Art von Gruppen (Gruppenbereich, Scope) willst du die Benutzer der anderen Domain einfügen? In globale Gruppen kannst du nur Benutzer deiner Domäne einfügen! Zitieren Link zu diesem Kommentar
grizzly999 11 Geschrieben 14. Januar 2008 Melden Teilen Geschrieben 14. Januar 2008 Naja, du hast jetzt ziemlich viel geschrieben, aber über das wichtigste jedoch nichts :( Du weißt , dass es drei Gruppenbereiche gibt?! Und einfach so aus dem hohlen Bauch raus behaupte ich, dass du die User der anderen Domäne in eine Globale Gruppe stecken willst, korrekt?! Weil genau das geht nicht, Mitglieder einer GG können nur aus der eigenen Domäne stammen. Du musst sie also in eine Domänenlokale Gruppe stecken, oder, wenn die trusted Domain aus dem selben Forest wäre (klingt nicht danach), dann würde es auch mit einer Universalen Gruppe gehen. grizzly999 Zitieren Link zu diesem Kommentar
Eric Cartman 10 Geschrieben 14. Januar 2008 Autor Melden Teilen Geschrieben 14. Januar 2008 Ich versuche natürlich lokale Gruppen zu nehmen, hatte ich vergessen zu erwähnen weil mir beide anderen Typen unlogisch erschienen. Die Domänen sind nicht im selben Forest. Naja, wie dem auch sei, ich werde morgen versuchen die User über die SID zu finden dann direkt aus der OU foreignsecurityprincipal in die Gruppe einzufügen, mal sehen ob ich damit Erfolg habe. Trotzdem danke dass ihr euch Gedanken gemacht habt. Gruß Eric Zitieren Link zu diesem Kommentar
grizzly999 11 Geschrieben 14. Januar 2008 Melden Teilen Geschrieben 14. Januar 2008 Naja, wie dem auch sei, ich werde morgen versuchen die User über die SID zu finden dann direkt aus der OU foreignsecurityprincipal in die Gruppe einzufügen, mal sehen ob ich damit Erfolg habe. Ne, das würde ich nicht machen, das muss die entsprechende .DLL selber machen (s.a. hier: http://www.microsoft.com/windows/windows2000/en/advanced/help/dsadmin_concepts_accounts.htm) Wenn es eine domänenlokale Gruppe ist, sollte das eigentlich klappen. Kannst du denn einen User manuell zu der Gruppe hinzufügen? grizzly999 Zitieren Link zu diesem Kommentar
Eric Cartman 10 Geschrieben 15. Januar 2008 Autor Melden Teilen Geschrieben 15. Januar 2008 Kannst du denn einen User manuell zu der Gruppe hinzufügen? grizzly999 Wenn ich über die MMC die User hinzufüge klappt das ohne weiteres. Ich hatte erst im Verdacht dass ich das Userobjekt an sich nicht mit der LDAP-Abfrage finde, wenn ich aber in der selben Function die Usereigenschaften per MsgBox ausgeben lasse bekomme ich die richtigen Infos ausgegeben. Hier mal das Snippet das die Aktion ausführen soll.: Sub addgroupmember(selectedgroup, usertoadd) 'hier übergebe ich den Gruppennamen (brauche ich später wieder und den distinguishedName des Users Call getgroupdn(groupvar) 'Hier hole ich mir die Gruppe in die der User eingefügt werden soll Set objGroup = GetObject("LDAP://" & groupvar) Set objUsertoadd = GetObject("LDAP://" & usertoadd) MsgBox objUsertoadd.distinguishedName & " - " & objUsertoadd.ADsPath & " - " & objUsertoadd.Name & " - " & objUsertoadd.GUID objGroup.Add("LDAP://" & usertoadd) MsgBox "sollte gelaufen sein" 'diese Meldung wird nicht mehr ausgegeben groupvar = selectedgroup ' die Variable brauche ich später noch MsgBox "User added to Group" End Sub wenn ich den DN eines User der lokalen Domäne übergebe funzt alles, also kann es auch kein Rechteproblem sein. Aber irgendwie will das Teil keine fremden User einfügen. Irgend eine Idee irgendjemand?? Vorab schon mal Danke und Gruß Eric Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 15. Januar 2008 Melden Teilen Geschrieben 15. Januar 2008 Hallo, benutzt du einen Kerberostrust, oder einen NT4.0 Trust? Ich kann mir vorstellen, dass bei letzterem ein LDAP-Bind auf die Nase fällt. Probiers mal mit dem WinNT-Provider. Welche Fehlermeldung bekommst du? Evtl. mal mit einem Netzwerksniffer (Wireshark: Go deep.) den Skriptablauf beobachten cu blub Zitieren Link zu diesem Kommentar
Eric Cartman 10 Geschrieben 15. Januar 2008 Autor Melden Teilen Geschrieben 15. Januar 2008 Hy, danke für die schnelle Reaktion, Wenn ich den Winnt-Provider nehme muss ich den Username in Domäne\Username umwandeln, oder? Dann sollte ich den gleich in diesem Format übergeben, oder kann ich den Namen auch direkt vom Objekt auslesen wenn ich den schon per LDAP gefunden habe? Kennst Du spontan den Namen der Felder? (müssten ja dann zwei sein,oder?) Das könnte ich dann ja nochmal probieren. Danke und Gruß Eric Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.